通常(b -1)*(b -1)= b -b -b + 1 ,因此在任意基数 b 中将n位数字乘以m位数字最多n + m个数字您可以轻松地以10为底: 9 * 9 = 81 (1位* 1位= 2位)或 99 * 99 = 9801 (2位) * 2位= 4位)If I multiplie two 16-bit numbers, the result will be 32-bit long. But why is this so?What is the clear explanation for this?And for my right understanding:The calculation for this is: n-bit number multiplied with a m-bit number gives a (n+m) bit number? 解决方案 -(2 + 2) is like clearing the bits at index n and m, which does not affect much the result compared to 2, so you need n+m bits to represent the result.For example 1111*1111 = 11100001 (15*15 = 225)In general, (b - 1)*(b - 1) = b - b - b + 1, so multiply an n-digit by an m-digit number in an arbitrary base b results in a number at most n+m digitsYou can see that easily in base 10: 9*9 = 81 (1 digit * 1 digit = 2 digit) or 99*99 = 9801 (2 digit * 2 digit = 4 digit) 这篇关于两个16位数字的乘法-为什么结果为32位长?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 09-12 11:29