principle of computer composition

1. 定点数的表示

1.1 无符号数和有符号数的表示

在计算机中参与运算的机器数有两大类 :无符号数和有符号数。

  1. 无符号数
  2. 有符号数

1.2 机器数的定点表示

  1. 定点小数

    定点小数是纯小数,约定小数点位置在符号位之后、有效数值部分最高位之前。

    第一位为 0,其他均为 1,X 为其所能表示的最大正数,真值等于 1-2^(-n)

    全为 1 时,X 为所能表示的最小负数,真值等于 -(1-2^(-n))

  2. 定点整数

1.3 原码、补码、反码、移位

  1. 原码表示法

    简单,直观。最高位表示符号,其余位表示数的绝对值 。

  2. 补码表示法

    取反加一

  3. 反码表示法

    0 变 1,1 变 0

  4. 移码表示法

    移码常用来表示浮点数的阶码。它只能表示整数。

    移码就是在真值 X 上加上一个常数(偏置值),通常这个常数取 2^n 。

2. 定点数的运算

2.1 定点数的移位运算

移位运算根据操作对象的不同分为算术移位和逻辑移位 。有符号的移位称为算术移位,逻辑移位的操作对象是逻辑代码,可视为无符号数。

  1. 算术移位
  2. 逻辑移位
  3. 循环移位

2.2 原码定点数的加减法运算

2.3 补码定点数加减法运算

2.4 符号拓展

2.5 溢出概念和判别方法

2.6 定点数的乘法运算

2.7 定点数的除法运算

3. 强制类型转换