资源描述
二进制乘、除法由加法和移位实现
一、1101x1011
被乘数1101 乘数1011
原理:由左向右逐位判断乘数的值,如果值为1,则被乘数加到积单元,之后积单元左移一位;如果值为0,积单元左移一位;……直到乘数判断完为止。
0
0
0
0
0
0
0
0
积单元初值
乘数第一位为1积单元加 1101
0
0
0
0
1
1
0
1
部分积为
左移一位
0
0
0
1
1
0
1
0
部分积为
乘数第二位为0
左移一位
0
0
1
1
0
1
0
0
部分积为
乘数第三位为1积单元加 1101
0
1
0
0
0
0
0
1
部分积为
1
0
0
0
0
0
1
0
左移一位
乘数第四位为1积单元加 1101
1
0
0
0
1
1
1
1
部分积为
此时乘数判断完毕,不再移位。积为10001111。
二、1000001÷101
被除数1000001 除数101
原理:设被除数为A、除数为B、商为Q(初值为0)、余数为R(初值为0)。设置一个Q单元和R单元,A由高位至低位依次左移进入R单元。每次移位进入后比较R单元和B的值,如果R≥B,则将这一位的商单元的值置1,然后从R中减去B(做补码加法运算),否则不做操作。商单元与移位同步进行。……直到A全部进入R单元为止。此时Q中存放商、R中存放余数。
A=1000001,B=101,B的补码1011
0
0
0
0
0
0
0
0
R初值
0
0
0
0
0
0
0
0
Q初值
A=1000001左移入R ,A=000001
0
0
0
0
0
0
0
1
R=
B=101
R<B
0
0
0
0
0
0
0
0
Q=
A=000001左移入R ,A=00001
0
0
0
0
0
0
1
0
R=
B=101
R<B
0
0
0
0
0
0
0
0
Q=
A=00001左移入R ,A=0001
0
0
0
0
0
1
0
0
R=
B=101
R<B
0
0
0
0
0
0
0
0
Q=
A=0001左移入R ,A=001
0
0
0
0
1
0
0
0
R=
B=101
R≥B ,则R-B=R+(-B)
1000+1011=0011
0
0
0
0
0
0
1
1
R=
0
0
0
0
0
0
0
1
Q=
A=001左移入R ,A=01
0
0
0
0
0
1
1
0
R=
B=101
R≥B ,则R-B=R+(-B)
0110+1011=0001
0
0
0
0
0
0
0
1
R=
0
0
0
0
0
0
1
1
Q=
A=01左移入R ,A=1
0
0
0
0
0
0
1
0
R=
B=101
R<B
0
0
0
0
0
1
1
0
Q=
A=1左移入R
0
0
0
0
0
1
0
1
R=
B=101
R≥B ,则R-B=R+(-B)
0101+1011=0000
0
0
0
0
0
0
0
0
R=
0
0
0
0
1
1
0
1
Q=
展开阅读全文