2024-04-26 07:01:58 发布
网友
在python3中运行以下内容
>>> print(2, bin(2), ~2, bin(~2)) > 2 0b10 -3 -0b11
我认为~2应该是0b01或{}。在
~2
0b01
为什么-0b11?在
-0b11
2 = 00000010 ~2 = 11111101
二的补码中11111101的值是多少?在
11111101
要回答这个问题,请遵循以下简单算法:
注意,最高有效位是“1”,因此符号为负数。在
第一眼~2:
2 = 0b0000...10 (n leading 0s) ~2 = 0b1111...01 (n leading 1s)
然后分析-0b11
大多数计算机数字表示都使用二的补码表示法,其中:
所以-0b11实际上是:
- 0b11 = 0 - 0b11 = 0b0000...00 + 0b1111...00 + 1 = 0b1111...01
二的补码中
11111101
的值是多少?在要回答这个问题,请遵循以下简单算法:
^{pr2}$
注意,最高有效位是“1”,因此符号为负数。在
第一眼~2:
然后分析-0b11
大多数计算机数字表示都使用二的补码表示法,其中:
^{pr2}$所以-0b11实际上是:
相关问题 更多 >
编程相关推荐