-32768的原码和补码怎么表示?
问一个问题,-32768的原码和补码怎么表示?他的原码是10000000 00000000,补码还是10000000 00000000,但是这是为什么?怎么计算的?
在C中,用高位置1来表示负数,int型占两个字节共16位,32768的二进制是10000000,00000000,高位为1,系统会认为是负数,所以32768需要用长型表示,占四个字节。最高位就不是1了。(00000000,00000000,10000000,00000000)
-32768在内存中的表示是10000000,00000000。过程是:先读入正值32768(10000000,00000000),再取反(01111111,11111111),再加1(10000000,00000000)
这样明白不