原码、反码、补码知识整理
在计算机中机器是识别不了正数(+)、负数(-)的,所以早期给计算机设定了0代表正数,-1代表负数,称为符号位,置于最前面
1.原码
正数转换为二进制位,二进制位就是这个正数的原码
负数取绝对值转换为二进制位,二进制位在最高位补1就是这个负数的原码
eg:int(3)的原码为多少?
解析
3转换为二进制位为:11B,在32位机器上占4个字节,补零
正数:00000000 00000000 00000000 00000011
-3取绝对值后转换为二进制位为:11B,在32位机器上占4个字节,在最高位补1
负数:10000000 00000000 00000000 00000011
缺点:零分为+0和-0,当我们在进行不同符号的加法运算或者同符号的减法运算时,不能直接进行加减运算,不能直接给出结果的正负,需要先取绝对值后再进行加减操作,符号位由绝对值大的决定,所以反码就问世了,反码算是原码的一种改进
2.反码
正数的反码跟原码相同,这里不作过多介绍,我们重点来了解一下负数的反码
负数的反码为在原码的基础上,除符号位外所有位取反,即1变0,0变1
eg:int(3)的原码为多少?
解析
3转换为二进制位为:11B,在32位机器上占4个字节,补零
正数:00000000 00000000 00000000 00000011
-3取绝对值后
原码、反码、补码相互之间的关系
最新推荐文章于 2022-10-05 15:13:52 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)