Skip to content

二、数据的表示和运算

本章导览

共 6 个小节:数制与编码、数制与编码、运算方法与运算电路、运算方法与运算电路、运算方法与运算电路、浮点数的表示与运算

二、数据的表示和运算 · 章节总览

本章重点

  • 数制:二 / 八 / 十六进制转换;补码是定点运算的核心
  • 编码:原码、反码、补码、移码;浮点数用 IEEE 754
  • 运算:ALU、并行进位加法器、移位、乘除、溢出判断与标志位

数制与编码

数制与编码

关键点

  • 进位计数制按权展开;BCD 码用 4 位二进制表示 1 位十进制(0~9)
  • 无符号整数 n 位表示 0 ~ 2ⁿ-1
  • 二 ↔ 八 / 十六进制:每 3 位 / 4 位一组转换

数制与编码

数制与编码

关键点

  • 带符号整数:原码、反码、补码;补码 = 反码 + 1,正数三码相同
  • 移码 = 补码符号位取反,常用于浮点数阶码
  • 定点小数:小数点位置固定,注意各码的表示范围

进位计数值

进位计数值

关键点

十进制 — 二进制 整数部分:除 2 取余,逆序排列、 除基取余法 十进制 — 二进制 小数部分:乘 2 取整,顺序排列 乘基取整法 拼凑法

BCD 码

BCD 码

关键点

有权码:8421 码和 2421 码 无权码:余 3 码

无符号整数

无符号整数

带符号整数

带符号整数

移码

移码

定点小数

定点小数

运算方法与运算电路

运算方法与运算电路

关键点

  • ALU 是运算核心;并行进位加法器(CLA)用先行进位提速
  • 补码加减运算器:减法转为加补码,统一用加法实现
  • 奇偶校验码:加 1 位校验位检错(只能检奇数位错)

运算方法与运算电路

运算方法与运算电路

关键点

  • 标志位:CF(进位 / 借位)、OF(溢出)、ZF(零)、SF(符号)
  • 移位:逻辑移位补 0,算术移位保留符号位
  • 乘除:补码乘法(Booth 算法)、补码除法(加减交替法)

运算方法与运算电路

运算方法与运算电路

关键点

  • 数据存储:大端(高字节在低地址)vs 小端(低字节在低地址)
  • C 语言类型转换:有符号 ↔ 无符号、长 ↔ 短、整 ↔ 浮点,注意精度与截断
  • 边界对齐影响数据排列

奇偶校验码

奇偶校验码

算术逻辑单元

算术逻辑单元

并行进位加法器

并行进位加法器

补码加减运算器

补码加减运算器

标志位生成

标志位生成

定点数的移位运算

定点数的移位运算

乘法运算

乘法运算

除法运算

除法运算

关键点

定点数原码除法运算——恢复余数法 定点数原码除法运算——加减交替法 定点数补码乘法运算

C 语言类型转换

C 语言类型转换

数据的存储和排列

数据的存储和排列

浮点数的表示与运算

浮点数的表示与运算

关键点

  • 浮点数 N = (-1)ˢ × M × 2ᴱ:符号 S、尾数 M、阶码 E;阶码用移码、尾数用原码
  • IEEE 754:单精度 32 位(阶 8 尾 23)、双精度 64 位(阶 11 尾 52)
  • 运算四步:对阶 → 尾数运算 → 规格化 → 舍入;阶码定范围、尾数定精度

浮点数的表示

浮点数的表示

IEEE 754

IEEE 754

浮点数的运算

浮点数的运算