Binary 棘手的二进制乘法

Binary 棘手的二进制乘法,binary,multiplication,Binary,Multiplication,我尝试将二进制1111作为第一个输入,将1111作为第二个输入。当我像往常一样乘法时,我遇到了必须做下面的加法,我遇到了必须用三个1来携带1,这意味着二进制中有2位的4。但对于这个乘法问题,这不可能表示2位中的4位 你要做的就是把数字带到另一个数字上 以场景为例: 11 +11 +十一, 你的答案应该是1001,因为二进制中的4是100。只需将1带入正确的位置。如果要添加多个二进制值,则只需携带添加列后剩余的内容,而不管需要多少位来表示进位 这就像十进制加99+99+99+99+99+99+9

我尝试将二进制1111作为第一个输入,将1111作为第二个输入。当我像往常一样乘法时,我遇到了必须做下面的加法,我遇到了必须用三个1来携带1,这意味着二进制中有2位的4。但对于这个乘法问题,这不可能表示2位中的4位

你要做的就是把数字带到另一个数字上

以场景为例: 11 +11 +十一,



你的答案应该是1001,因为二进制中的4是100。只需将1带入正确的位置。

如果要添加多个二进制值,则只需携带添加列后剩余的内容,而不管需要多少位来表示进位

这就像十进制加99+99+99+99+99+99+99+99+99+99+99+99+99+99+99+99+99一样,当添加最低有效列时,结果是108,因此即使它太大而无法容纳一个数字,也会携带10

同样,如果你加上二进制11+11+11+11+11,当你加上最低有效列时,你得到101,所以你携带10


但是,通常一次只能添加两个二进制数,因为这样可以避免使用单个位进行进位。

问题是,我遇到了一个问题:在执行1111*1111操作时,将进位以下三个1的1进行进位。它应该仍然有效。为了组织你的思维,试着在做大算术之前先做小算术。当然,最干净的方法是一次只做两个subsum。这就排除了携带超过2个小时的物品的可能性,我得到了11100001作为产品!哦,现在我明白了!谢谢你,guffa和starwing!