cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 2933|回复: 12

懂位运算的请进

[复制链接]
发表于 2010-8-21 15:53:29 | 显示全部楼层 |阅读模式
用过C/C++的都知道位运算,可是位运算的原理是什么?
请高手告知我原理及推导
(类似图示的方法就算了 如:
         0000101100110000
or     0000000000110000
————————————
         0000101100110000
 楼主| 发表于 2010-8-21 16:08:14 | 显示全部楼层
又没人理我……
发表于 2010-8-21 16:12:35 | 显示全部楼层
根据我的粗浅理解,位运算就是单独操作一个字节里的某一位,没有什么原理可谈。
 楼主| 发表于 2010-8-21 16:14:17 | 显示全部楼层
我想问的是,只有四则运算,能实现位运算吗?
发表于 2010-8-21 16:17:28 | 显示全部楼层
逻辑运算才是最底层的操作。加减乘除都是建立在逻辑运算之上的,用加减乘除实现逻辑运算是本末倒置的。
 楼主| 发表于 2010-8-21 16:18:56 | 显示全部楼层
ls我知道,但是9750GII的PGRM的Run不支持位运算,Base又无法绘图,你让我咋办
发表于 2010-8-21 16:25:32 | 显示全部楼层
一位一位处理咯
 楼主| 发表于 2010-8-21 16:26:55 | 显示全部楼层
楼上的,嘛玩意?咋一位一位处理咯?我现在就是想用and来判定某一位是不是1
发表于 2010-8-21 16:39:31 | 显示全部楼层
就是对两个二进制操作数的每一位进行逻辑运算
如你举的例子
0000101100110000 OR
0000000000110000
----------------------------
0000101100110000
逐位进行OR逻辑运算,根据OR运算真值表便可得出结果(0表示F,1表示T,对于OR运算只要有一个为T结果就为T,两个都是F时结果才是F),就像上面例子中对齐后逐位按照0 or 0 = 0,0 or 1 = 1,1 or 1 = 1,1 or 0 =1的原则计算

这是很基本的东西,建议看一下微机原理,不过很多语言教材中会提到位运算
 楼主| 发表于 2010-8-21 16:42:52 | 显示全部楼层
问题是逻辑运算用不了!!!!
发表于 2010-8-21 17:33:28 | 显示全部楼层
。。。

BASE的程序功能受限制(连COPY及PASTE也不能用),而一般程序又无法使用BASE的功能(我试过把BASE的程序专用函数用FA-124复制到一般程序中,结果计算器狂报错)
 楼主| 发表于 2010-8-21 19:04:07 | 显示全部楼层
。。。

BASE的程序功能受限制(连COPY及PASTE也不能用),而一般程序又无法使用BASE的功能(我试过把BASE的程序专用函数用FA-124复制到一般程序中,结果计算器狂报错)
yzhang37 发表于 2010-8-21 17:33

同样的经历……
发表于 2010-8-23 11:44:12 | 显示全部楼层
。。。

BASE的程序功能受限制(连COPY及PASTE也不能用),而一般程序又无法使用BASE的功能(我试过把BASE的程序专用函数用FA-124复制到一般程序中,结果计算器狂报错)
yzhang37 发表于 2010-8-21 17:33
居然这样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-4-18 12:54 , Processed in 0.052572 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表