进制转换,java数据类型,原码,反码,补码

143 阅读2分钟

任意进制转十进制

二进制

image.png

八进制

image.png

十六进制

image.png

二进制转十进制快速转换法

image.png

十进制转任意进制

image.png

java 基本数据类型

image.png

image.png

原码

什么是原码?

原码: 十进制数据的二进制表现形式,最左边的是符号位,0为正,1为负

举例:

56 转二进制为 00111000;

image.png

在计算机中 一个0 或者 一个1 称之为 1bit 或者 一个比特位

image.png

8个比特位 为 一个字节; 一个字节 也是计算机中存储的最小单元. 其中第一位为符号位 0为正,1为负

一个字节的最大值为 01111111;

image.png

一个字节的最小值为 11111111;

image.png

利用原码对正数进行计算是不会有问题的. 但是对负数进行计算就会出现问题. 实际运算的结果,跟我们预期的结果是相反的. 所以就出现了反码

反码

反码: 为了解决原码不能计算负数的问题而出现的. 计算规则: 正数的反码不变和原码一样, 负数的反码在原码的基础上,符号位不变. 数值取反, 0变1, 1变0.

image.png

测试 -56 + 1 = -55;

image.png

-56 的 原码为 10111000, 反码为 11000111; -55 的 原码为 10110111, 反码为 11001000;

-56 的反码 + 1 等于 11001000; 然后将 完成计算 的反码 转为原码 得到的原码为 10110111 = -55

反码的小弊端 0有两种表现形式, 导致从负数加到正数就会有 1 的误差

image.png

所以就出现了补码

补码

补码就是在反码的基础上+1;

image.png

image.png

在计算机中的运算都是以补码的形式进行运行的