先说要证明的结论:同进制下,一个 m 位的数乘一个 n 位的数,乘积不超过 m+n 位。
证法一:
下面用多项式表示 x 进制的数,数 a 有 m 位,数 b 有 n 位:
根据多项式的乘积运算可得:
因为这个结果并没有进位,所以看不出两数积的位数,但可以知道至少有 m+n-1 位。
现在考虑 a,b 都取最大值的情况,其乘积结果也是最大的,此时取最大位数:
令
易知:
而
容易看出(不存在进位问题)是一个 m+n 位的数,所以一个 m 位的数乘一个 n 位的数,乘积不可能超过 m+n 位。
证法二:
首先有不等式成立:
而一个 x 进制的数 a,其位数为。
假设有,a 的位数为 m,b 的位数为 n。
数 c 的位数为
由上面的不等式可得
又
所以乘积 c 的位数不超过 m+n。
网友评论