栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

整数在内存中如何存储

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

整数在内存中如何存储

整数在内存中的存储
在计算机内存中,整数一律采用补码的形式来存储。这意味着,当读取整数时还要采用逆向的转换,也就是将补码转换为原码。将补码转换为原码也很简单:先减去 1,再将数值位取反即可。
我们先来解以下几个概念

  1. 原码
    将一个整数转换成二进制形式,就是其原码。例如 short a = 6;,a 的原码就是 0000 0000 0000 0110;更改a 的值 a = -18;,此时 a 的原码就是 1000 0000 0001 0010。
    通俗的理解,原码就是一个整数本来的二进制形式。
  2. 反码
    对于正数(原码反码相同);对于负数,负数的反码是将原码中除符号位以外的所有位取反(1变成0,0变成1)。例如 short a = 6;,a 的原码和反码都是 0000 0000 0000 0110;更改 a 的值 a = -18;,此时 a 的反码是 1111 1111 1110 1101。
  3. 补码
    对于正数,它的补码就是其原码(原码、反码、补码都相同);负数的补码是其反码加 1。例如 short a = 6;a 的原码、反码、补码都是 0000 0000 0000 0110;更改 a 的值 a = -18;,此时 a 的补码是 1111 11111110 1110。

最后,进行总结:

  • 正数的原码、反码、补码相同
  • 负数的原码是其二进制形式,补码是原码中除符号位以外所有位取反。负数补码是其反码加1。
  • 正数二进制最高位的符号位为0
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294082.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号