GMP限制大整数

发布于 2024-11-13 09:58:45 字数 405 浏览 3 评论 0原文

我对大整数 GMP 库有疑问。 我使用函数

mpz_t num 设置大整数;

mpz_init(数字);

mpz_set_str(num,"1234567890123456789012345678901234567890123456789012345678901234567890123412345678901234567890123 4567890123456789012345678901234567890123456789012341234567890 1234567890123456789012345678901234567890123456",10);

当我打印这个数字 gmp_printf("%Zd",num) 时,结果是错误的。 有什么限制吗?是不是数字太大了?我不认为...

i have a problem with GMP library for big integer.
I set the big integer using the function

mpz_t num;

mpz_init(num);

mpz_set_str(num,"123456789012345678901234567890123456789012345678901234567890123456789012341234567890123456789012345678901234567890123456789012345678901234567890123412345678901234567890123456789012345678901234567890123456",10);

When i print this number gmp_printf("%Zd",num) the result is wrong.
Are there any limitations? Is the number too big? i don't think ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鲜肉鲜肉永远不皱 2024-11-20 09:58:45

试试这个:

mpf_set_default_prec(5*1024);

在你的 mpz_init 之前。

祝你好运!

Try this:

mpf_set_default_prec(5*1024);

before your mpz_init.

Good Luck!

只等公子 2024-11-20 09:58:45

也许问题是你没有初始化num。用于整数算术的 GMP 函数假定所有整数对象都已初始化。

mpz_init(num);

Maybe the problem is that you didn't initialize num. The GMP functions for integer arithmetic assume that all integer objects are initialized.

mpz_init(num);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文