大小大于 64 位寄存器的数字的乘法

Multiplication of numbers that have sizes greater than a 64-bit register

对于 64 位处理器,寄存器的大小为 64 位。所以一次可以相乘的最大位数是:一个 32 位数乘以一个 32 位数。 这是真的吗,还是有其他因素决定了位数相乘?

不,你不能这么说。

这取决于乘法算法是如何设计的。 想想看:

x * y = x + x + x + ... + x        // y times

您可以将每个乘法视为加法的总和。

将一个数字与另一个数字相加不是寄存器的事情,因为您总是将两个数字相加,保存结果和结转并继续下两个数字,直到将两个数字相加。

通过这种方式,您可以将非常长的数字与非常小的寄存器相乘,但需要很大的内存来保存结果。