原码

  • 127的原码为0111 1111
  • -127的原码为1111 1111

问题:

  • 0的表示不唯一,分为+0和-0
  • 运算需要根据符号位设计加法器和减法器

反码

正数的反码与原码一致;

负数的反码是对原码按位取反,只是最高位(符号位)不变

  • 127的反码为0111 1111
  • -127的反码为1000 0000

符号位参加运算

补码

正数的补码与原码一致;

负数的补码是该数的反码加1

如:

  • 127的补码为0111 1111
  • -127的补码为1000 0001

0的表示唯一

0的表示

分为+0和-0

-0原码:10000

补码:00000

反码:11111

移码

  • 移码通常用于表示浮点数的阶码。
  • 阶码一般为整数,故移码通常只用于表示整数
  • 将X正向平移2n-1

定点小数

定点整数

无符号定点整数

浮点数表示原理

  • 精度取决于最小的那个数
  • 让表示的范围和精度更大

尾数规格化

使数的表示是唯一的

<mark>尾数左移时,阶码减小,相当于,尾数变大,需要阶码记录变大了多少</mark>

<mark>尾数右移时,阶码增大,相当于,尾数减小,需要阶码记录减小了多少</mark>

IEEE754

移位

<mark>双符号位第二符号位参加运算</mark>

正数:

负数:

<mark>右移空位补1</mark>

舍入规则

补码加减法

溢出的判断

  • 两个正数相加,结果为负数(最高数字位进位为1,符号位无进位)

  • 两个负数相加,结果为正数(最高数字位无进位,符号位进位为1)

<mark>01是正溢出,10是负溢出</mark>

原码加减法

求和符号同被加数

奇偶校验