天天看点

计算机原理第三章ppt,《计算机原理》第三章.ppt

《计算机原理》第三章

例2: X =— 0.11011 Y = 0.11111 求 X × Y =? 解: ZS = 1 , 2︱X︱ = 001.10110 【—︱X︱ 】补 = 111.00101 部分积A 乘数B C j 被乘数C 000.11011 【X ×Y】原 = 1.1101000101 X × Y = —0.1101000101 000.00000 0.11111 0 + 111.00101 111.00101 0.11111 1 111.11001 0.10111 1 + 000.00000 111.11001 0.10111 1 111.11110 0.10101 1 + 001.10110 001.10100 0.10101 0 000.11010 00.101 练习:X = -0.11101 Y = -0.11101 求X × Y =? 解: ZS = 0 2∣X∣ = 001.11010 【- ∣X∣ 】补=111.00011 部分积A 乘数B CJ 被乘数 C 000.11101 【X × Y】原 = 0.1101001001 X × Y = 0.1101001001 000.00000 0.11101 0 +000.11101 000.11101 0.11101 0 000.00111 0.10111 0 +111.00011 111.01010 0.10111 1 111.11010 1.00101 1 + 001.11010 001.10100 1.00100 0 000.11010 0.1001 1. 补码一位乘 ● 用补码做加减运算很方便,做乘法(包括除法)却是原码很方便, 既然这样为何又有补码乘法呢?主要为了避免频繁的码制转换。 (1) X任意,Y>0时, ---同原码乘法 【 X·Y 】补 = 【X】补 · 【Y】补 (2)X任意,Y﹤0时,---校正法 (3) X,Y都任意 ---比较法(Booth算法) 被乘数X 【X】补 = x s x1…xn 乘数Y 【Y】补 = Y s Y1 … Yn = Y 0 Y1 … Y n 【 X·Y 】补 = 【X】补 · (0. Y 1 … Y n) + 【-X】补 综合前面两种情况写出统式: 将此式展开,得到递推关系: 从而得到: ---------补码一位乘比较法 [x ·y]补=[x]补 ·(0. y1… y n ) + y s · [-x]补 [z0]补=0 [z1]补= 2-1 {[z0]补+(yn+1-yn) [x]补} [z2]补= 2-1 { [z1]补+(yn-yn-1) [x]补} … [z0]补= 2-1{[zn-1]+(y2-y1) [x]补} [x × y] = [z0]补+(y1-ys) ·[x]补 (1) 相乘时,被乘数取双符号位,乘数取单符号位并参加运算。 (2)乘法开始前,部分积置全0,乘数末位增加附加位Yn+1 = 0. (3)比较Y和iYi+1,决定如何运算 (4) 重复 n+1 次,最后一次不移位 (5) 得乘积 2n+2位,其中含两位符号位 y i yi+1 0 0 ; +全0, 结果右移一位; 0 1 ; +[x]补, 结果右移一位; 1 0 ; +[-x]补,结果右移一位; 1 1 ; +全0, 结果右移一位 补码一位乘注意事项: §3.4定点的除法运算 除法: 按照数的 表示方法 原码除法 补码除法 按照处理方式 比较法:由专门的比较电路来比较被除数除数大小 恢复余数法 加减交替法(不恢复余数法) 定点除法 定点整数:|被除数|>|除数| 定点小数:|被除数|<|除数| 溢出 溢出:除法不进行.由程序单独处理 不溢出:执行除法运算 同时,|除数|不为0 一.原码除法 1.恢复余数法 手算除法:x=-0.10010 y=0.11011 0.10101 0.11011