定 点 运 算
移位运算
移位的意义
1️⃣15.m = 1500.cm 小数点右移2位
机器用语 15相对于小数点左移2位 (小数点不动)
左移 绝对值扩大
右移 绝对值缩小
在计算机中,移位与加减配合,能够实现乘除运算
算术移位规则
符号位不变
例子
设机器数字长为 8 位(含1位符号位),写出
A = –26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。
算术移位的硬件实现
算术移位和逻辑移位的区别
算术移位 :有符号数的移位
逻辑移位 :无符号数的移位
逻辑左移 :低位添 0,高位移丢
逻辑右移 :高位添 0,低位移丢
例子
加减法运算
补码加减运算公式
(1) 加法
(2) 减法
举例
溢出判断
(1) 一位符号位判溢出
参加操作的 两个数(减法时即为被减数和“求补”以后的减数)符号相同,其结果的符号与原操作数的符号不同,即为溢出。
硬件实现
(2) 两位符号位判溢出
结果的双符号位 相同 : 未溢出
结果的双符号位 不同 : 溢出
最高符号位 代表其 真正的符号
补码加减法的硬件配置
A、X 均 n+1 位
用减法标记 GS 控制求补逻辑
乘法运算
分析笔算乘法
笔算乘法改进
改进后的笔算乘法过程(竖式)
小结
原码乘法
(1) 原码一位乘运算规则
乘积的符号位单独处理 x0⊕y0
数值部分为绝对值相乘 x* • y*
(2) 原码一位乘递推公式
例子
已知 x = – 0.1110 y = 0.1101 求[x • y]原
结果
(3) 原码一位乘的硬件配置
A、X、Q 均 n+1 位
移位和加受末位乘数控制
(4) 原码两位乘
(5) 原码两位乘运算规则
结果
(6) 原码两位乘和原码一位乘比较
补码乘法
(1) 补码一位乘运算规则
例子
(2) Booth 算法的硬件配置
A、X、Q 均 n + 2 位
移位和加受末两位乘数控制
乘法小结
除法运算
分析笔算除法
笔算除法和机器除法的比较
原码除法
(1) 恢复余数法
(2) 不恢复余数法(加减交替法)
结果
(3) 原码加减交替除法硬件配置
补码除法
(1) 商值的确定
① 比较被除数和除数绝对值的大小
② 商值的确定
(2) 商符的形成
(3) 新余数的获得
例子
小结
(5) 补码除和原码除(加减交替法)比较