1.001 111 右移一位 0.100 111 100 010 即x*×y*=0.100 111 100 010,z0=x0? y0=0 ?1=1, [x×y]原=1.100 111 100 010,x·y= -0. 100 111 100 010 原码两位乘:[-x*]补=1.001 001,2x*=1.101 110 部分积 乘数y* Cj 说明 000 . 000 00 101 110 0 部分积初值为0,Cj=0 000 根据yn-1ynCj=100,加2x*,保持+001 . 101 Cj=0 110 001 . 101 0 110 000 . 011 10 001 011 0 右移2位 011 10 001 011 根据yn-1ynCj=110,加[-x*]补,置+111 . 001 Cj=1 001 111 . 100 右移2位 100 00 100 010 1 111 . 111 根据yn-1ynCj=101,加[-x*]补,置001 Cj=1 +111 . 001 001 111 . 000 010 10 001 000 1 右移2位 111 . 110 根据yn-1ynCj=001,加x*,保持Cj=0 000 +000 . 110 111 000 . 100 10 001 0 111 即x*×y*=0.100 111 100 010,z0=x0? y0=0 ?1=1, [x×y]原=1.100 111 100 010,x·y= -0. 100 111 100 010
补码一位乘:[x]补=0.110111,[-x]补=1.001001,[y]补=1.010010 部分积 乘数 Yn+1 说明 00 . 000 1 010 010 0 Ynyn+1=00,部分积右移1位 000 0 101 001 0 Ynyn+1=10,部分积加[-x]补 00 . 000 000 +11 . 001 001 11 . 001 右移1位 001 11 . 100 1 010 100 1 Ynyn+1=01,部分积加[x]补 100 +00 . 110 111 00 . 011 右移1位 011 00 . 001 1 101 010 0 Ynyn+1=00,部分积右移1位 101 1 110 101 0 Ynyn+1=10,部分积加[-x]补 00 . 000 110 +11 . 001 001 11 . 001 右移1位 111 11 . 100 1 111 010 1 Ynyn+1=01,部分积加[x]补 111 +00 . 110 111 00 . 011 右移1位 110 0 111 101 0 Ynyn+1=10,部分积加[-x]补 00 . 001 111 +11 . 001 001 11 . 011 0 111 10 000 即 [x×y]补=1.011 000 011 110,x·y= -0.100 111 100 010 补码两位乘:
2[x]补=001.101110,2[-x]补=1.001001 部分积 乘数 Yn+1 说明
结果同补码一位乘, x·y= -0. 100 111 100 010 00
21. 用原码加减交替法和补码加减交替法计算x÷y。 (1)x=0.100111,y=0.101011; (2)x=-0.10101, y=0.11011; (3)x=0.10100, y= -0.10001; (4)x=13/32, y= -27/32。 解:(1)x*=[x]原=[x]补=x= 0.100 111 y*=[y]原=[y]补=y= 0=0 ?y0=0 ?0.101 011 [-y*]补=[-y]补=1.010 101 q0=x0 y]原=0.111 010 r*=0.000 010×2-6=0.000 000 000 010 ?y*