定点数的表示

  • 有符号数和无符号数
  • 定点小数与定点整数

机器数的编码表示

原码表示法

  • 纯小数原码:
  • 纯整数原码:
  • 真值零的原码有正零和负零两种形式

补码表示法

  • 补码的算术移位:变形补码(模 4 补码),双符号位
  • 补码的符号位参与运算

反码表示法

  • 正数反码与原码相同,负数反码为符号位不变、数值位取反

移码表示法

  • 在真值 X 上加一个常数(偏置值),常用于浮点数的阶码

定点数的运算

移位运算

  • 算术移位:有符号数,符号位不变,数值位按规则移位
    • 正数:原码/补码/反码均添 0
    • 负数:原码添 0,补码左移添 0 右移添 1,反码均添 1
  • 逻辑移位:视为无符号数,左右均添 0
  • 循环移位:带 CF 大循环与不带 CF 小循环

加减法运算

  • 补码加减运算:

溢出判别

  • 采用一位符号位:符号位与数值位进位异或
  • 采用双符号位(模 4 补码):结果符号位 01 为正溢出,10 为负溢出
  • 根据数据位进位:最高位进位与次高位进位不同则溢出

乘法运算

  • 原码一位乘法:符号位单独处理,数值位累加右移
  • 补码一位乘法(Booth 算法)

除法运算

  • 原码除法(不恢复余数法/加减交替法)
  • 补码除法(加减交替法)

数据的存储和排列

  • 大端方式:高位字节存放在低地址(符合人类阅读习惯)
  • 小端方式:低位字节存放在低地址(利于计算机处理)
  • 边界对齐:数据按自身大小的整数倍地址存放