用Booth算法计算4x3的4位补码乘法运算,写出每

编辑: admin           2017-01-03         

    以基2-Booth算法来说,它是对本位及相邻低位的值进行编码.N位的乘法运算需要N次编码.2个N位的数补码相乘,输出结果位数为2N.比如,两个乘数分别是4位补码表示, 0111(7), 1101(3)  ——其中,{R0,R1}代表输出结果,R1为被乘数,R2为乘数

    R0             R1         P 

    0000         0111         0     初始 

    0011         0111         1     R0<=R0-R2 

    0001         1011         1     右移(第一次循环) 

    0000         1101         1     右移(第二次循环) 

    0000         0110         1     右移(第三次循环) 

    1101         0110         1     R0<=R0+R2 

    1110         1011         1     右移(第四次循环) 

    结果为 (1110 1011)=(-21)

    类似问题

    类似问题1:booth算法辅助位是根据什么?

    第一次是0

    以后是乘数的最后一位.

    如乘数是1011,

    辅助位依次为0,1,1,0,1

    也就是依次做sub,nop,add,sub运算

    类似问题2:用C语言或者C++写一个二进制补码的乘法的函数,请问有好的算法思路吗.例如知道两个数a的补码是001011010b的补码是100000011 怎么才能得到a*b的补码呢

    计算机本身存储的就是补码

    直接把a*b的结果用二进制方式输出就是了

    类似问题3:用BOOth算法计算7x (-4),要求写每一步运算过程及运算结果.[数学科目]

    初始:0000 0111 (0)

    1:0100 0111 (0)

    0010 0011 (1)

    2:0001 0001 (1)

    3:0000 1000 (1)

    4:1110 0100 (0)

    (1110 0100)=(-28) 别忘了给分啊!

    类似问题4:补码booth算法中移位的问题!(3) x=+1010,y=-0101,演算过程是这样的[x]补=01010,[y]补=11011,则 [x×y]补 =1111001110 就是第三行10110进行下一步计算要移位是吧但怎么就移成11011了呢?这个是根据什么规则[数学科目]

    我日!等了半天 这么个破问题也没人解决 幸好我自己弄懂了

    首先右移的时候把部分积R0和乘数RI 看为一个整体

    然后看R0最高位是什么 是0就在后面加个0 然后整体往右移 要是1就加1

    得到的就是结果!

    类似问题5:用Booth算法计算7x(-3)的4位补码乘法运算,要求写出每一步运算过程及运算结果[数学科目]

    110 :1101 + 1 = 0011

    011 :1101

  •   4
  • 相关文章

    求 人教版小学三年级数学《吨的认识》说课稿因为面试.
    有3元,5元和7元的电影票400张,一共价值1920
    熟能生巧和业精于勤两个词语造句-熟能生巧造句-数学学
    ...以A为直角顶点作Rt△ABC,且点B、C在圆上
    十字绣图中的符号代表什么意思?十字绣图中的上箭头,.
    ...80件B种商品,共花去了2800元,在商店零售
    ...61.若全集U={1,2,3,4,5},集合M
    ①当x取何值时,代数式【看图】的有意义②小亮说:“当
    奎文实验初中七年级寒假作业,除寒假作业外-奎文实验初
    ...那么a是两节点间间距的水平投影,还是檩条间距的
Copyright ©2009-2021 逆火网训All Rights Reserved.     滇ICP备2023009294号-57