请稍等 ...
×

采纳答案成功!

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

为什么 十进制数 1 取反 为-2?

1 —01
取反不是应该是 10吗? 那么就是 3
或者 1–00000001 取反是 11111110 最高位是符号位 也不应该是-2吧?

正在回答 回答被采纳积分+3

2回答

逆风 2019-06-25 18:52:53

0000 0001取反后为1111 1110,取反规则是没有错的。

而%d代表有符号十进制,可以了解下补码,负数的补码=原码取反+1。所以输出结果为1111 1110减去1等于1111 1101,再取反为0000 0010为2,同时保留符号位,也就是-2。

1 回复 有任何疑惑可以回复我~
  • 提问者 wokenshin #1
    大学学的东西都还给老师了。谢谢老师
    回复 有任何疑惑可以回复我~ 2019-06-25 19:27:41
  • 逆风 回复 提问者 wokenshin #2
    不客气
    回复 有任何疑惑可以回复我~ 2019-06-25 22:46:15
逆风 2019-06-25 18:55:28

正数的补码=原码本身

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