搜索
当前位置: 秒秒彩平台 > 读整数内存 >

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

gecimao 发表于 2019-06-06 17:20 | 查看: | 回复:

  可选中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://latharnaog.com/duzhengshunacun/357.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部