这个问题以前也是不太明白,后来来回看书之后就可以理解了。有几点你需要明白。
第一点,数值在计算机中是以补码表示的。
第二点,整型变量的范围是-32768-32767。
第三点,八进制和十六进制的表示属于整型变量。所以范围依然是-32768-32767.
-1的补码是[1111 1111 1111 1111].
10进制的表示结果就是-1.
八进制的表示结果为 【1 111 111 111 111 111 111】=【177777】o
同理十六进制的结果为【1111 1111 1111 1111】=【ffff】h
其实他们显示的结果都是在内存中的存放方式。也就是都是表达着内存中【1111 1111 1111 1111】。不知道你明白了没有