Binary 如何使用右移将两个数字相乘?

Binary 如何使用右移将两个数字相乘?,binary,computer-science,Binary,Computer Science,我已经找了好几个小时了,但我还是想不出来。 我想把这两个数字相乘:(不是符号数字) 101011*110010=?请注意,可以将A分解为2的幂和(100000+1000+10+1)。其中每一个都代表B的一个班次,因此,您可以执行以下步骤: 检查A的最右边位。如果为0,则不执行任何操作。如果为1,则将B添加到结果中(最初为0) 把A移到右边 把B移到左边 重复此操作,直到A=0 还有其他方法可以做到这一点。例如,将步骤3更改为:向右移动结果(循环移动) 请注意,为了得到准确的结果,结果必须有两个A

我已经找了好几个小时了,但我还是想不出来。 我想把这两个数字相乘:(不是符号数字)
101011*110010=?

请注意,可以将A分解为2的幂和(100000+1000+10+1)。其中每一个都代表B的一个班次,因此,您可以执行以下步骤:

  • 检查A的最右边位。如果为0,则不执行任何操作。如果为1,则将B添加到结果中(最初为0)
  • 把A移到右边
  • 把B移到左边
  • 重复此操作,直到A=0
  • 还有其他方法可以做到这一点。例如,将步骤3更改为:向右移动结果(循环移动)

    请注意,为了得到准确的结果,结果必须有两个A和B位