首 页 行业资讯 新车 试驾评测 养车用车 车型库

为什么会有补码、反码、原码?

发布网友 发布时间:2022-04-20 06:48

我来回答

1个回答

热心网友 时间:2023-09-07 07:02

原码、反码和补码是计算机中对数字二进制的三种表示方法。

1、原码

原码(trueform)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

例如:用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011。

2、反码

反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。反码的表示方法是:正数的反码与其原码相同;负数的反码是对正数逐位取反,符号位保持为1。

例如:

[+7]反=00000111B;

[-7]反=11111000B。

3、补码

正数:正数的补码和原码相同。负数:负数的补码则是符号位为“1”。并且,这个“1”既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。

例如:

[+7]补=00000111B;

[-7]补=11111001B。

扩展资料

原码、反码、补码的转换方法如下:

(1)已知原码,求补码。

例:已知某数X的原码为10110100B,试求X的补码和反码。

首先通过原码的首位确定该数字的正负,若为正数,反码与原码相同,补码比原码在末尾加1;若为负数,求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。

(2)已知补码,求原码。

按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1的方法。

参考资料来源:百度百科-反码

参考资料来源:百度百科-补码

参考资料来源:百度百科-原码

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com