2

如果我想计算数以亿计的数字(正整数),哪种编程语言最适合呢?

目前我正在使用 python 并且脚本正在运行并且它很容易编码,但我担心它的速度。

我对组装一无所知,所以虽然它可能是最快的,但我宁愿不使用它。C是这里的最佳选择吗?

我必须使用的具体操作是 *、-、%(mod)、求幂、相等测试(if 语句)、基本循环和某种输出能力(例如控制台输出)。

非常感谢。

4

3 回答 3

4

您可以将GMP与纯 C 一起使用,但请注意,许多动态语言将其用于任意精度数,python 也是如此。使用 C 可能不会获得太多收益。

于 2011-09-30T22:12:42.987 回答
2

带有 C/C++ 的 GMP 库。

http://gmplib.org/

于 2011-09-30T22:13:04.233 回答
0

这是您阅读的资源。这反驳了 C 最快的论点,除非您使用 C99 限制功能。如果有什么 C++ 比 C 快的话。当两个独立但连续的操作“读取”引用相同的内存位置时,这真的归结为编译器的理解。这允许编译器重新排序操作以进行优化。看来 Fortran 最擅长这样做。

http://en.wikipedia.org/wiki/Pointer_aliasing

您还可以在这里看到 Fortran 在 Mandelbrot 例程中击败了 C++。但是当涉及到文本操作时,C++ 似乎是顶级的。

http://shootout.alioth.debian.org/u32/fortran.php

于 2012-04-13T20:45:53.797 回答