cumtljj 发表于 2014-6-7 00:13:33

关于位运算(bitand bitor等)和32位有符号数的运算问题

具体问题如图 谢谢各位解答

cumtljj 发表于 2014-6-7 00:14:34

自己顶上去啊……

seniors 发表于 2014-6-7 09:32:45

本帖最后由 seniors 于 2014-6-7 09:48 编辑

第一个1表示负号
1000 0000 0000 0000 0000 0000 0000 0011b
- ( 2^31 - 3 )

1100 0000 0000 0000 0000 0000 0000 0011b
- ( 2^31 - 2^30 - 3 )

总结
第一位是1,是负数,他= - (2^31 -第一个1后面的数值)

再举个例子
0100 0000 0000 0000 0000 0000 0000 0011b
+ ( 2^30 + 3 )

0100 0000 0000 0000 0000 0000 0000 0010b
+ ( 2^30 + 2 )

总结
第一位是0,是正数,他= 第一个0后面的数值,也就是本来的数值

cumtljj 发表于 2014-6-7 10:04:31

回复 3# seniors


    太详细了 谢谢
页: [1]
查看完整版本: 关于位运算(bitand bitor等)和32位有符号数的运算问题