MATLAB中的大数乘法

时间:2012-09-21 08:51:24

标签: matlab

我怀疑是纯粹的好奇心。如何在MATLAB中实现大数的乘法?它是Karatsuba,Toom-3,Fürer还是完全不同的东西?

4 个答案:

答案 0 :(得分:5)

如果您对计算算法感兴趣,例如139676498390139139676498390676498390*8745566554641239676498390676498390,则会发生以下情况:

看看这个示例代码:

10^35

显然不完全是您分配给>> a=139676498390139139676498390676498390; >> num2str(a) ans = 139676498390139141600015724509659136 的值 - 只有前16位匹配。

答案 1 :(得分:3)

没有内置的BigInteger类,如果这是你的意思。您可以使用固定点工具箱,也可以导入相关的java / .NET类。

默认情况下,数字以IEEE双精度浮点格式表示。

答案 2 :(得分:3)

添加答案,如果您需要更多数字的准确性,可以尝试使用此fex file

答案 3 :(得分:0)

如果您的号码很大,但您不需要大量有效数字。每次乘法可以多个小数,例如$ 10 ^ -1 $。跟踪$ N $的乘法次数,并获得$ 10 ^ { - N} $的值。这可能是一个临时工作。