~ 运算符不是按位取反吗?
来源:5-13 位运算符
senqing
2018-08-17
~ 运算符不是按位取反吗?为什么~2结果是-3呢?
>>> ~2
-3
十进制2变成二进制是10,按位取反之后不应该变成01了,不应该是十进制1吗?请问老师这里是怎么操作的
写回答
4回答
-
我说真的,我没太看懂你要表达的意思。你可以看下负数的表示
042018-08-20 -
o杨飞o
2022-05-28
# 取2原码 00000010 # 取2反码,此时可以看成某个数的补码。 11111101 # 某数的补码-1=某个数的反码 11111100 # 某数的原码 => 3 00000011 # 2的反码 = 3的反码+1(某数的反码+1就是某数的负数),所以 = -3 -3
00 -
慕无忌5210304
2020-09-23
2 八位代表00000010,第一位符号位,1负数0正数,取反为11111101, 3的二进制表示为00000011,负数为3的补码加1即11111100+1=11111101 ,这个数就是2的按位取反
00 -
李红星0
2020-02-23
这个记得组成原理学过,二进制前面还有符号位,0表示负数,1表示正数;按位取反好像还要用到原码,反码,补码,学了很久忘记怎么操作了。。。
00