五、原码、反码和补码
在计算机内,有符号数(这里的符号指的是正负符号,有符号数指的就是正负数)有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的,也就是基于补码来做计算 。
在二进制中,二进制数的最左边为最高位,根据二进制定点表示法,二进制最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小 。也就是说二进制最左边的数决定了这个数是正数,还是负数,正数的符号位是0,负数的符号位是1 。
正数的原码,反码,补码都相同;
负数的则有不同的计算规则,详情如下:
原码:负数的原码和正数的原码差别就在最高位,正数的符号位是0,负数的符号位是1;
反码:负数的反码是对其原码逐位取反(0变1,1变0),但符号位(最高位)除外,因为最高位(符号位)是不能被改变的;
补码:负数的补码是在其反码的末位加1(逢二进一);
需要注意的是:求反码的时候,最高位(符号位)是不能被改变的, 正数的符号位是0,负数的符号位是1 。
推荐阅读
- 怎么二进制转换 八进制转换二进制在线转换
- 二进制转八进制 二进制转换计算器
- 二进制减法怎么做?
- 二进制如何减法 二进制减法怎么算的
- 二进制加法运算1001+101的结果为,二进制加法运算例题
- 八进制转换二进制,八进制转十六进制算法
- 二进制怎么算二进制算法
- 二进制用于什么 二进制怎么用
- 二进制小数转换为十六进制的算法 二进制小数十六进制转换方法?
- Windows计算器如何将十进制转换成二进制,十进制转化成二进制,8进制,8421BCD的公式?