C语言的问题:-12345的补码是多少,为什么?

这是-12345U在计算机中怎么存储的问题的一部分,各位帮帮忙.
2024-12-19 20:32:15
推荐回答(5个)
回答1:

正数的补码与其原码相同,负数的补码为其反码在最低位加 1
—12345 的补码是这样算的:取12345的二进制形式:0011000000111001 (12345前面的负号不用理会)
取反1100111111000110
加1:1100111111000111
所以照这种算法:1100111111000111 = 53191

回答2:

不是,先把12345转化成二进制.(这个你会吧?用余数法)计算机里存储正数在前面补1,1存储负数在前面补0,例如.十进制12345转化成二进制是11000000111001,又因为是负的,前面补1,表示符号位.变成111000000111001,再除了符号位,各位取反,就是0变1,1变0,变成100111111000110,叫做它的反码,反码加1,就是原数的补码了,即100111111000111,要想化成十进制,再按位权展开就行了.有什么不清楚的就问我好了.

回答3:

-12345补码应是11100111111000110
因为12345的二进制形式为0011000000111001,而-12345则为了12345的二进制代码最高位前加上一个1(负的为1,正的为0)所以负数的补码是该数绝对值时的二进制代码的反码的最高位加工能1;

回答4:

前面说的很好

回答5:

我也不懂喔