请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

~ 运算符不是按位取反吗?

~ 运算符不是按位取反吗?为什么~2结果是-3呢?

>>> ~2

-3

十进制2变成二进制是10,按位取反之后不应该变成01了,不应该是十进制1吗?请问老师这里是怎么操作的

正在回答

4回答

我说真的,我没太看懂你要表达的意思。你可以看下负数的表示

0 回复 有任何疑惑可以回复我~
  • 提问者 senqing #1
    那我简单点问吧,为什么  ~2 的 结果是 -3 ?
    回复 有任何疑惑可以回复我~ 2018-08-18 08:28:43
  • 提问者 senqing #2
    希望老师有时间解答一下这个问题,为什么 ~2 的 结果是 -3 ? 对~运算符的运算规则不太了解
    回复 有任何疑惑可以回复我~ 2018-08-19 21:04:51
  • 7七月 回复 提问者 senqing #3
    你需要了解下负数是怎么表示的,二进制的,了解了应该就清楚了。
    回复 有任何疑惑可以回复我~ 2018-08-20 02:51:52
o杨飞o 2022-05-28 16:47:46
# 取2原码
00000010
# 取2反码,此时可以看成某个数的补码。
11111101
# 某数的补码-1=某个数的反码
11111100
# 某数的原码 => 3
00000011
# 2的反码 = 3的反码+1(某数的反码+1就是某数的负数),所以 = -3
-3


0 回复 有任何疑惑可以回复我~
慕无忌5210304 2020-09-23 22:12:45

2 八位代表00000010,第一位符号位,1负数0正数,取反为11111101, 3的二进制表示为00000011,负数为3的补码加1即11111100+1=11111101 ,这个数就是2的按位取反

0 回复 有任何疑惑可以回复我~
李红星0 2020-02-23 12:31:53

这个记得组成原理学过,二进制前面还有符号位,0表示负数,1表示正数;按位取反好像还要用到原码,反码,补码,学了很久忘记怎么操作了。。。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信