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

java二进制原码 补码与反码

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

java二进制原码 补码与反码

java二进制原码 补码与反码

计算机在任何情况下智只能识别二进制

计算机在底层存储数据的时候,一律存储的是 “ 二进制的补码形式 ”

计算机采用补码形式存储数据的原因是:补码形式效率最高

什么是补码?

​ 二进制有:原码,反码,补码

二进制的表现形式:

对于一个正数来说,二进制原码,补码,反码都是一个,完全相同

int i = 1;
对应的二进制原码:00000000 00000000 00000000 00000001
对应的二进制反码:00000000 00000000 00000000 00000001
对应的二进制补码:00000000 00000000 00000000 00000001
    
byte i = -1;
对应的二进制原码:10000001
对应的二进制反码(符号位不变,其他位取反):111111110
对应的二进制补码(反码+1):11111111
  
public class testInt{
    
    public static void main(String[] args) {
        
        // 编译报错,因为150超出了byte的取值范围,不能直接复制,要强制类型转换
        byte i = (byte)150;
        // 输出的是 11101010 (-106)
        System.out.println(i);
    }
    
}

对byte i = (byte)150;的分析

int类型的4个字节的150的二进制码是什么?00000000 0000000 00000000 10010110将以上的int类型强制转换为byte的二进制是:

10010110 注意:计算机存储的是二进制的补码形式可以采用逆推的方式推到出原码形式是

补码 10010110 --> 反码 10010101 —> 原码 11101010

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727334.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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