Tag: gmp

GMP如何以任意数量的字节存储其整数?

2 ^ 64离我的ram /硬盘驱动器可以处理的“无限”还有一段距离…… 首先,我想知道GMP如何与内存/处理器一起工作,因为它做了一些阴暗的优化…… 我还想知道是否有一种方法可以在任意数量的字节上存储整数(无符号,更容易)。 例如,在50个字节上,我的上限为2 ^ 400 -1。 要做的事情是使用携带以保持数字从一个字节到另一个字节保持一致,我对此有一些了解,但我真的不确定这是否是最快的方法。 我甚至不确定我是否正确。 我猜GMP使用这种方式来存储它的数据,但我只想要一些(甚至很少)解释或某些理论转发(我没有任何博士学位,所以不要太难)。

使用GMP的bignum方根

我需要准确地得到210位数的平方根,我认为GMP是适合这项工作的工具,我做错了什么? #include #include #include “gmp.h” int main (int argc, char *argv[]) { mpz_t sq_me, sq_out, test; mpz_init(sq_me); mpz_init(sq_out); mpz_init(test); mpz_set_str (sq_me, argv[1], 10); mpz_sqrt(sq_out, sq_me); mpz_mul(test,sq_out,sq_out); gmp_printf (“%Zd\n\n”, sq_out); gmp_printf (“%Zd\n\n”, test); return 0; } 输入: 24524664490027821197651766357308801846702678767833275974341445171506160083003858 72169522083993320715491036268271916798640797767232430056005920356312465612184658 17904100131859299619933817012149335034875870551067 输出: 49522383313031109809242226159886283348695660460381271324714928680654813093947239 9634016783775955618921028 24524664490027821197651766357308801846702678767833275974341445171506160083003858 72169522083993320715491034366358025027526868495267716284867043049443779615862887 47102011391915422793532619329760963626718900576784

使用Xcode在MacOS X上安装GMP

我正在尝试在我的C和C ++程序中使用GMP库。 我使用Xcode编写代码。 我按照说明在我的机器上安装GMP,最后得到一个包含gmp.h文件的文件夹“〜/ usr / local / gmp-5.0.5”。 如何让我的程序看到这个库? 如果我决定将我的程序保存在桌面上,例如??? 安装gmp-5.0.5的最佳位置在哪里? 使用include“gmp.h”将显示错误“找不到文件”。

如何链接Xcode 4中的库?

我是Apple Xcode的完全初学者,但我已经遵循Xcode文档和一些相关问题的建议而没有成功。 我在/ usr / local / bin中安装了GMP ,使用该库编写了一个简短的程序,并使用gcc main.c -lgmp编译。 它编译时没有任何警告或错误,并且可执行文件完美无缺。 我启动了一个新的Xcode项目(命令行工具;类型:C),将代码复制到新创建的main.c,并打开项目构建设置。 从那里我将链接>其他链接器标志设置为-lgmp并将搜索路径>库搜索路径设置为/usr/local/bin 。 但是,构建失败,预处理程序错误“Gmp.h:没有这样的文件或目录”。 我几乎尝试了所有可以想到的标题: #include “gmp.h” #include #include “gmp” #include “libgmp.a” 。 。 。 这是我过去三个月的主要障碍,这使我无法学习C.任何有助于我最终解决方案的帮助将不胜感激。

如何在内存中表示极大的浮点数?

像GMP这样的任意精度库如何存储内存中表示的极大浮点数? 我想如果你想要计算Pi或Euler的常数来说,你可以为小数位右边的数字分配大量的字节数。 每个字节将存储2个小数位值,并且该数组将是数据结构的成员,其中包含用于存储该值的位数和字节数。 这是怎么回事?

在Xcode中添加链接器标志

(我不确定“flag”是否是我正在寻找的词,但我会解释它。) 我正在尝试编译一个使用GMP大数字库的程序。 但是为了能够使用GMP编译,我必须在命令的末尾添加-lgmp 。 例如,如果我想编译“program.c”,我必须输入gcc program.c -lgmp 。 这很容易从命令行,但我不知道如何在Xcode中做到这一点。 如何在使用Xcode时添加lgmp标志?