binary-encoding

原码

机器数的最高位表示符号,其余位为数的绝对值

纯小数的原码定义

$$ [x]原=
\left{
\begin{array}{lcr}
x & 1 > x \geq 0 \
&& ([x]
原是机器数原码,x是真值) \
1 - x = 1 + |x| & 0 \geq x -1 \
\end{array}
\right.
$$

$x_1 = +0.1110$, $x_2 = -0.1110$,字长为8位

$[x_1]_原 = 0.111000$, $[x_2]_原 = 1 - (-0.1110) = 1.1110000$ (仅当以原码表示时是这样

纯整数的原码定义

$$ [x]_原=
\left{
\begin{array}{l}
0x & 2^n > x \geq 0 \
&& (x是真值,n是整数位数) \
2^n - x = 2 ^n + |x| & 0 \geq x > -2^n \
\end{array}
\right.
$$

$x_1$的真值为+14, $x_2$的真值为-14

$x_1 = +1110$, $x_2 = -1110$

$[x_1]_原 = 00001110$, $[x_2]_原 = 10001110$ (仅当以原码表示时是这样

原码表示法在字长为n+1时的表示范围为 $[-(2^n - 1), (2^n - 1)]$

(最高位用于符号位,有两种0的表示方法 $[+0]原$ = 0000 0000, $[-0]原$ = 1000 0000)

原码表示法表示数比较简单,但作加减法时复杂,需先对比两个数的绝对值,然后用绝对值大的减绝对值小的,给结果选择合适的符号

反码

由原码得到:

  • 正数的反码 与原码相同
  • 负数的反码 符号位不变,其他位取反

反码作为 由原码求补码 或 由补码求原码的中间过渡

纯小数的反码定义

$$ [x]_反=
\left{
\begin{array}{l}
x & 1 > x \geq 0 \
&&\pmod{2 - 2^{-n}} \
(2 - 2^{-n}) + x & 0 \geq x > -1 \
\end{array}
\right.
$$

纯整数的反码定义

$$ [x]_反=
\left{
\begin{array}{l}
0x & 2^n > x \geq 0 \
&& \pmod{2^{n+1} - 1} \
(2^{n+1} - 1) + x & 0 \geq x > -2^n \
\end{array}
\right.
$$

$x_1$的真值为+14, $x_2$的真值为-14

$x_1 = +1110$, $x_2 = -1110$

$[x_1]_反 = 00001110$, $[x_2]_反 = 1111 1111 - 00001110 = 1111 0001$ (仅当以反码表示时是这样

反码表示法在字长为n时的表示范围为 $[-(2^{n-1} - 1), (2^{n-1} - 1)]$

(最高位用于符号位,有两种0的表示方法 $[+0]反$ = 0111 1111, $[-0]反$ = 1111 1111)

补码

使用补码,计算机中的加减法可以统一用加法实现

求补码:
正数 与原码相同
负数 原码符号位不变,数值部分按位取反+1(反码+1)

纯小数的补码定义

$$ [x]_补=
\left{
\begin{array}{l}
x & 1 > x \geq 0 \
&&\pmod 2 \
2 + x = 2 - |x| & 0 > x \geq -1 \
\end{array}
\right.
$$

纯整数的补码定义

$$ [x]_补=
\left{
\begin{array}{l}
0x & 2^n > x \geq 0 \
&& \pmod{2^{n+1}} \
2^{n+1} + x = 2 ^ {n+1} - |x| & 0 \geq x > -2^n \
\end{array}
\right.
$$

$x_1$的真值为+14, $x_2$的真值为-14

$x_1 = +1110$, $x_2 = -1110$

$[x_1]_补 = 00001110$, $[x_2]_补 = 1 0000 0000 - 00001110 = 1111 0010$ (仅当以反码表示时是这样

补码表示法在字长为n时的表示范围为 $[-(2^{n-1} - 1), (2^{n-1} - 1)]$

(最高位用于符号位,有两种0的表示方法 $[+0]反$ = 0111 1111, $[-0]反$ = 1111 1111)

References

  1. 王道论坛. 2019年计算机组成原理联考复习指导(王道考研系列)[M]. 电子工业出版社, 2018.