原码、反码、补码

原码、反码、补码

引言:

在温故位操作中的移位时,涉及到了原码、反码、补码概念
这里来温故下原码、反码、补码的概念
还是要提一句:欠下的债,总是要还的、

正数

正数的原码、反码、补码都是同一个东西,都等于原码。

例如:
十进制数的23的原码是多少?
首先将23转成二进制,用除二取余的算法。

所以23的原码是0001 0111。最高位是符号位,0为正,1为负。
正数的反码和补码和原码一致。
正数在计算机里的存储方式是以补码方式存储的

负数

负数的原码和正数一样,都用除二取余的算法得到,但是需要注意的是,最高位的符号位是1。
反码是,除了最高位符号位,其余数位取反。
补码是,反码+1;

例如:写出十进制数-23的原码,反码,补码。
原码:1001 0111
反码:1110 1000
补码:1110 1001

在计算机中,负数是以补码的形式存放的

原文地址:https://www.cnblogs.com/xm970829/p/13434801.html