截断高位数据不变吗?
在三十二位机器上,short int 占的是两个字节,也就是十六位,所能够表示的最小数据是:-32768,该数的二进制补码表示:11000000000000000 按照我的理解表示的应该是十七位,因为高一位表示的是符号位,但是short int是十六位,因此就要截断最高位,剩下了 1000000000000000 难道计算机这样也会识别这个数是-32768吗???想请教一下高手是怎么回事??望尽量详细的讲解之,小弟不胜感激!!!!
其实很简单,0000000000000000为+0,而1000000000000000为-0,我们不需要两种方式表示0,所以将1000000000000000规定为-32768