计算机二进制换算

int类型的一个数3的原码是30个0接上两个1,其补码是30个1接上两个0,为什么换算成十进制就变成-4?

你的问题本身就搞错了!3的原码是30个0接上两个1,它的补码仍然是30个0接上两个1!30个1接上两个0本身就是-4的补码!追问

32个1表示十进制的-1

追答

32个1表示十进制的-1——对啊!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-17
int类型的一个数3的原码是30个0接上两个1,其补码是30个1接上01。

也就是说-3的补码是111111111 11111111 11111111 11111101。

补码是111111111 11111111 11111111 11111100 确实是表示-4 的。
第2个回答  2015-08-06
补码不是30个1接两个0,应该是30个1加01
相似回答