二进制4位数原码、补码、反码表

提示:计算机基础

文章目录

  • 4位源码、反码、补码表


4位源码、反码、补码表

如文章有误还请留言
4位有符号整型数
正数和0的 三码合一,即原码、反码和补码都一样
反码:符号位不变其余位取反
补码:反码+1 (符号位不参与计算)

十进制 二进制原码 二进制反码 二进制补码
1 0001 0001 0001
2 0010 0010 0010
3 0011 0011 0011
4 0100 0100 0100
5 0101 0101 0101
6 0110 0110 0110
7 0111 0111 0111
0 0000/1000 0000 0000
-8 源码没有-8 (1000) ? (1111) 1000
-1 1001 1110 1111
-2 1010 1101 1110
-3 1011 1100 1101
-4 1100 1011 1100
-5 1101 1010 1011
-6 1110 1001 1010
-7 1111 1000 1001
原码最符合人的直觉,但是不适合用电路实现,如果有符号数用补码表示,则可直接用电路计算就可得到正确值。
如: 正数与负数补码相加正好得到0的补码,补码相加得到的结果是正确的

在计算机中应该是用补码进行运算
如:四位 -8(二进制补码1000) + -1(二进制补码1111)
  运算结果为 7(二进制补码0111)
如:short sv = -32768 (补码1000 0000 0000 0000);
  short sv2 = -1  (补码1111 1111 1111 1111);
  short sv3 ( 补 码 0111 1111 1111 1111) = sv + sv2;
sv3结果为 32767

再如:
若数据类型为 unsigned short 0xFFFF则为65535;
若数据类型为 short      0xFFFF则为-1;
若为有符号类型则最高位为符号位


你可能感兴趣的:(开发语言)