计算机组成原理
定点数的编码表示
无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值(通常只有无符号整数,而没有无符号小数).
n位的无符号数表示范围为:0~2ⁿ-1
注:可用 原码 反码 补码 三种方式来表示定点整数和定点小数.还可用移码 来表示定点整数.
原码
原码:用尾数表示真值的绝对值,符号位"0/1"对应正负
若机器字长为n+1位,则尾数占n位
定点整数
若机器字长n+1位,原码整数的表示范围: -(2ⁿ-1) <= x <= 2ⁿ-1 (关于原点对称)
真值0有 +0 和 -0 两种形式
+0 :0000 0000
-0 :1000 0000
定点小数
若机器字长n+1位,原码小数的表示范围: -(1-2⁻ⁿ) <= x <= 1-2⁻ⁿ (关于原点对称)
真值零有 +0 -0 两种形式
+0 :0.000 0000
-0 :1.000 0000
反码
反码: 若符号位为0 ,则反码与原码相同 若符号位为1, 则数值位全部取反
定点整数
若机器字长n+1位,反码的整数表示范围: -(2ⁿ-1) <= x <= 2ⁿ-1 (关于原点对称)
真值0 有 +0 和-0 两种形式
定点小数
若机器字长 n+1位,反码小数的表示范围: -(1-2⁻ⁿ) <= x <=1-2⁻ⁿ (关于原点对称)
真值0有 +0 -0 两种形式
补码
补码: 整数的补码=原码 负数的补码 =反码末位+1 (考虑进位)
(负数补码转原码: 尾数取反,末位+1)
定点整数
定点整数补码[x]补= 1,000 0000表示 -2⁷
若机器字长为n+1位,补码整数的表示范围: -2ⁿ <= x <= 2ⁿ-1 (比原码多表示一个 -2ⁿ)
定点小数
定点小数补码[x]补= 1.000 0000 表示 x= -1
若机器字长为n+1位,补码小数的表示范围: -1<= x <= 1-2⁻ⁿ (比原码多表示一个 -1)
注意:补码的真值0 只有一种表示方式
[+0]=[-0]=0000 0000
移码
移码:补码基础上将符号位取反.
注意:移码只用于定点整数
若机器字长n+1位,移码整数表示范围: -2ⁿ <= x<= 2ⁿ-1
注意:移码的真值0也只有一种表示形式
[+0]=[-0]=1000 0000
零扩展 符号扩展
逻辑门电路
与门
或门
非门
与非门
或非门
异或门
异或运算的妙用: n bit 进行异或,若有奇数个1,则异或结果为1;若有偶数个1,则异或结果为0
同或门
总结
并行进位加法器
进位信息是串行产生的,计算速度取决于进位产生和传递的速度.位数越多,运行速度越慢.
注:电信号到达稳态需要一定时间,因此仅为产生速度会有延迟.
串行进位又称为行波进位,每一级进位直接依赖于前一级的进位,即进位信号是逐级形成的.
由于两个输入端允许并行输入 n bit,因此这种加法器属于:并行加法器
由于进位信息是串行产生的,因此从 '进位方式'看,这种加法器属于:串行进位加法器.综上,很多教材把这种加法器称为" 串行进位的并行加法器".
串行进位的并行加法器: 把n个全加器串接起来,就可以进行n位数的相加
并行进位的并行加法器:各级进位信号同时形成,又称为先行进位,同时进位