我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:高清跑狗图 > 读整数内存 >

为什么以两个字节存放的最小整数-32768在内存中是0

归档日期:06-26       文本归类:读整数内存      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  对于所有整数在内存中都是以整数的补码形式存在,2个字节是2*8=16位,而位是用0或1表示的,自己画16个空格,如果是最大正整数的话,开头第一位必须是符号位0,然后后面的15位都是1,所以表示的最大十进制整数是32767,如果是最小负整数的话,开头第一位必须是符号位1,另外要记住这样一个关系原码=补码取反-1(这里的取反包含符号位,这里举个例子求补码为11111010的十进制整数,先对其补码取反的00000101,算的的结果为5,因为补码的最高位是1可以断定该数为负数,所以结果为-5再减1得,-6),因为最高位为1已经定下来啦,所以要使原码最大,则补码取反必须最大,则补码必须最小,则后面的15位都为0,所以补码必须为0,通过刚才的方法先求反得1,得到的整数为32767,因为补码的最高位是1可以断定该数为负数,所以结果为-32767,再减1得-32768.。这个还是比较绕人,自己再好好想想吧~~~

本文链接:http://sarlnogues.com/duzhengshunacun/460.html