《二进制乘、除法由加法和移位实现》由会员分享,可在线阅读,更多相关《二进制乘、除法由加法和移位实现(5页珍藏版)》请在金锄头文库上搜索。
1、二进制乘、除法由加法和移位实现一、1101x1011 被乘数 1101 乘数 1011原理:由左向右逐位判断乘数的值,如果值为1,则被乘数加到积单元,之后积单元左移一位;如果值为 0,积单元左移一位;直到乘数判断完为止。积单元初值 乘数第一位为 1 积单元加 1101部分积为左移一位 部分积为乘数第二位为 0左移一位部分积为乘数第三位为 1 积单元加 11010 0 0 0 0 0 0 00 0 0 0 1 1 0 10 0 0 1 1 0 1 00 0 1 1 0 1 0 0部分积为左移一位 乘数第四位为 1 积单元加 1101部分积为此时乘数判断完毕,不再移位。积为 10001111。二、
2、1000001101 被除数 1000001 除数 101原理:设被除数为 A、除数为 B、商为 Q(初值为 0) 、余数为 R(初值为 0) 。设置一个 Q 单元和 R 单元,A由高位至低位依次左移进入 R 单元。每次移位进入后比较 R 单元和 B 的值,如果 RB,则将这一位的商单元的值置 1,然后从 R 中减去 B(做补码加法运算) ,否则不做操作。商单元与移位同步进行。直到 A全部进入 R 单元为止。此时 Q 中存放商、R 中存放余数。A=1000001,B=101,B 的补码 10110 1 0 0 0 0 0 11 0 0 0 0 0 1 01 0 0 0 1 1 1 1R 初值Q
3、 初值A=1000001 左移入 R ,A=000001 R=B=101RB Q=A=000001 左移入 R ,A=00001 R=B=101RB Q=A=00001 左移入 R ,A=0001 R=B=101RB Q=0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 10 0 0 0 0 0 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 0 0A=0001 左移入 R ,A=001 R=B=101RB ,则 R-B=R+(-B)1000+1011=0011 R=Q=A=001 左移入 R ,A=01 R=B=101RB ,则 R-B=R+(-B)0110+1011=0001 R=Q=A=01 左移入 R ,A=1 R=B=101RB 0 0 0 0 1 0 0 00 0 0 0 0 0 1 10 0 0 0 0 0 0 10 0 0 0 0 1 1 00 0 0 0 0 0 0 10 0 0 0 0 0 1 10 0 0 0 0 0 1 0Q=A=1 左移入 R R=B=101RB ,则 R-B=R+(-B)0101+1011=0000 R=Q=0 0 0 0 0 1 1 00 0 0 0 0 1 0 10 0 0 0 0 0 0 00 0 0 0 1 1 0 1