(资料图片仅供参考)

1、首先你要理解补码与源码的关系,这道题要我们找到补码表示的最小整数,很显然该补码的源码是一个负数(补码的最高为一定为1)。

2、要想使该负数最小,那么它的绝对值就要取最大值;你想当然地以为补码是11000000,但不要忘了源码在补码的基础上不仅要减1。

3、还有一个取反的过程,而11000000在减1后为10111111,取反后为01000000。

4、很显然补码在减1后数值越大(1越多)取反后源码绝对值反而越小(0变得越多);这样的话就要使补码在减1后数值最小(即0越多),那么将补码写成这样(10000001)减1后0不就变多了吗?按照这个思路减1后为10000000,取反后为01111111。

5、那么源码就为-01111111,转换为十进制就是-127.。

本文到此分享完毕,希望对大家有所帮助。

关键词: