老师给了我们一个作业,让我们编写一个程序,将 2 个 8 位长度的数字相乘。我们的微控制器仅支持 8 位寄存器,因此必须将结果放入 2 个寄存器中。这就是我卡住的地方。
要将这两个数字相乘,我必须将其中一个向左移动。而且我不知道该怎么做,因为当向左移动时,只剩下进位位,我可以将数字粘贴到其中,但是当我必须移动不止一位时,进位-有点不够。
我也不明白如何添加这些数字。例子:
Number1: Number2:
0000'0111 * 1111'1111
---------------------
1111'1111
1'1111'111< The 1 number on the left would be outside the register.
11'1111'11<< The 2 numbers on the left would be outside the register.
------------
110'1111'1001
这是纸上的方法。但是我该如何实现呢?