计算机组成原理
数据的表示和运算
-
进位计数制及其相互转换
- 进位计数法
- 不同进制之间的相互转换(十进制小数转换为二进制小数)
-
定点数的编码表示
-
真值与机器数
-
机器数的定点表示
- 定点小数
- 定点整数
-
原码
-
最高位为符号位,对于一个n+1位的原码数,其表示范围为.
$$ -(2^n-1)\leq x \leq 2^n-1 $$ -
优点:
- 简单直观
- 乘除实现简单
-
缺点
- 0表示不唯一
- 加减法复杂
-
-
补码
-
定义(n位)
$$ [x]_{\text{补}}= (2^n + x )\mod2^n $$ -
负数补码的方法:最高位为1,各位取反,末位加1
-
变形补码:双符号位
-
-
反码
-
移码
-
-
整数的表示
- 无符号整数
- 有符号整数
-
C语言中的整数类型及类型转换
-
有符号无符号转换
机器数不变,解释方式发生改变
-
不同字长
- 0扩展
- 符号扩展
-
运算方法和运算电路
-
基本运算部件
- 带标志加法器
- 算数逻辑单元(ALU )
-
定点数的位移运算
- 逻辑移位
- 算术移位
-
定点数的加减运算
-
补码的加减运算
- 逢二进一
- 加法,补码直接相加;减法,被减数与-减数的补码相加。
- 符号位一起参与运算
- 最终结果高位丢弃
-
溢出判别方法
-
一位符号位
操作数符号相同且与结果不同,即溢出
-
双符号位
- 00:正数,无溢出
- 01:正数,溢出
- 11:负数,无溢出
- 10:负数,溢出
-
采用一位符号位根据数值位的进位情况判断溢出
符号位的进位与最高数位的进位相同,则无溢出,否则溢出。
-
-
加减运算电路
- CF
- OF
- ZF
- SF
-
-
定点数的乘除运算
- 定点乘法运算
- 基本原理
- 乘法运算电路
- 除法运算
- 基本原理
- 除法运算电路
- 定点乘法运算