跳转至

02 运算器和运算方法

数据表示

数据格式

  • 纯小数
\[ 0 \le |x| \le 1 - 2^{-n} \]
  • 纯整数
\[ 0 \le |x| \le 2^{n} -1 \]

数的机器码表示

补码

0 的补码只有一种形式,而原码有两种。

取值范围: \(-2^n \le x \le 2^n -1\)

例题:已知 \([x]_补=\bold{1}10011011\),求 x。

解答:

\[ \begin{aligned} x &= -1 \times 2^{8} + 1 \times 2^{7} + 0 \times 2^{6} + 0 \times 2^{5} + 1 \times 2^{4} + 1 \times 2^{3} \\ &\quad + 0 \times 2^{2} + 1 \times 2^{1} + 1 \times 2^{0} \\ &= -256 + 155 \\ &= -101 \end{aligned} \]

浮点数的机器表示

IEEE 754 标准:S(1) + E(8) + M(23) 共 32 位。

例题 2.5:若浮点数 x 的 IEEE754 标准存储格式为\((41360000)_{16}\)​,求其浮点数的十进制数值。

解答:

  1. 求二进制:0 | 100 0001 0 | 011 0110 0000 0000 0000 0000
  2. 求指数:e = 阶码 — 127 = 1000 0010 — 0111 1111 = \((3)_{10}\)
  3. \(1.M\)​:1.011011
  4. 最后 \(x=(-1)^s \times 1.M \times 2^e =+(1.011011)_2 \times 2^3 = +1011.011_2 = (11.375)_{10}\)

可以再看看教材 P41 页例题。

定点加减法运算

补码加法

看两道例题即可 P46,例题 2.13 展示了当运算溢出的结果。

数据与文字表示方法