首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

负数的位操作?解决办法

2012-11-03 
负数的位操作?负数的位与或非异或操作是如何进行的?先将原码转为补码计算后再将结果转为原码?[解决办法]我

负数的位操作?
负数的位与或非异或操作是如何进行的?
先将原码转为补码计算后再将结果转为原码?

[解决办法]
我觉得除了移位存在算术移位和逻辑移位外,其他的不管你是什么码在计算机看来位运算是一样的,也不需要转化成其他什么码
[解决办法]
int型-1在计算机是0xffffffff 3是0x00000003
-1&3是0x00000003
[解决办法]
计算机是不管你是负数,补码,原码之类的,你把一个数看成一个物理位组 
如 1001 0011
再在这种数据上进行位与,非异或操作,然后再把得到的值转成 数学值就可以了
至于中间的补码之类,那都是因数学中的概念需要
[解决办法]
除了移位存在算术移位和逻辑移位外
位运算都可以看作无符号位在运算
[解决办法]
计算机里从来不存原码这个东西
[解决办法]
负数这个问题很大 
对于c语言来说 负数是不是用补码表示是无法确定的

位运算 一般用无符号数吧 明确点 

[解决办法]
对电脑而言只有无符号二进制字节数组,对人脑才有十进制数、正数、负数、小数、无理数、复数、……

热点排行