欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二进制 原码 补码 反码

程序员文章站 2022-07-15 09:42:02
...

 “模”是指一个计量系统的计数范围。
 例:假如下午六点你发现手表停在了上午十点,现在要将手表拨到六点你有几种办法?
一:顺时针拨8位
二:逆时针拨4位
由此得

10 + 8 = 18
18 - 12 = 6
10 - 4 = 6

 “模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算

 同时计算器中只有加法器没有减法器,所以可以通过加法来代替减法运算。

 在以12模的系统中,加8和减4效果是一样的,因此凡是减4运算,都可以用加8来代替。对“模”而言,8和4互为补数。实际上以12模的系统中,11和1,10和2,9和3,7和5,6和6都有这个特性。共同的特点是两者相加等于模。

二级制模

  由以上例子不难看出时钟的模是12一个周期,那么二级制的模就是2。

原码

 是一种计算机中对数字的二进制定点表示方法,其再二级制基础上增加了一个符号位。
简单的说就是一个有符号的二级制数。

反码

 反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。

正数的反码与其原码相同;
负数的反码是对其原码逐位取反,但符号位除外。

补码

 由上文的概念可以得出补码即与原码相加为一个模的值(或者说余数为0)。
注:因此负数的补码是其反码+1.
 补码的出现可以将负数的减法转换为正数的加法。正式补码的重要性介绍下补码的特性:

1、一个负整数(或原码)与其补数(或补码)相加,和为模。
2、对一个整数的补码再求补码,等于该整数自身。
3、补码的正零与负零表示方法相同。

运算规则

对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。

正数,原码、反码、补码数值位完全相同;
当真值为负时,原码的数值位保持原样,反码的数值位是原码数值位的各位取反,补码则是反码的最低位加一。
注意符号位不变。

减负数等于加负数的补码。