当前位置:  开发笔记 > 编程语言 > 正文

C中的BigInteger?

如何解决《C中的BigInteger?》经验,为你挑选了3个好方法。

在C中处理大量数字的最简单方法是什么?我需要在区域1000 ^ 900中存储值...

有人知道一个简单的方法吗?真的很感激任何帮助!



1> kmkaplan..:

使用libgmp:

GMP是一个免费的库,用于任意精度算术,对有符号整数,有理数和浮点数进行操作.精度没有实际限制,除了机器GMP中可用内存所暗示的那些...

从版本6开始,GMP在双重许可下分发,GNU LGPL v3和GNU GPL v2 ......

GMP的主要目标平台是Unix类型系统,例如GNU/Linux,Solaris,HP-UX,Mac OS X/Darwin,BSD,AIX等.众所周知,它可以在32位和64位的Windows上运行.位模式...


我没有测试,但它的内容是"除了可用内存所暗示的精度之外,没有实际的限制".快速估计是1000⁹⁰⁰<1024⁹⁰⁰,它适合小于9000位.我认为它没有理由打破GMP.

2> cletus..:

有一些库可以帮助你做到这一点(任意精度数学):

BigDigits ;

iMath ;

decNumber ; 和

其他人无疑.

假设这与工作没有关系(即你是为了娱乐或它的业余爱好,或者仅仅是学习某些东西的机会),编写一个库以获得任意精度数学是一个相对有趣的项目.但是如果你需要完全依赖它并且对螺母和螺栓不感兴趣,那就使用一个库.



3> Jonathan Lef..:

有许多库可以处理大量数据.你需要整数或浮点运算吗?

您可以查看Python中为该任务构建的代码.

您可以查看该任务的Perl扩展.

您可以在OpenSSL中查看该任务的代码.

您可以查看GNU MP(多精度)库 - 如kmkaplan所述.


读Knuth?我的意思是,TAOCP - 计算机程序设计的艺术([第2卷,半数值算法](http://www.amazon.com/Art-Computer-Programming-Volume-Seminumerical/dp/0201896842);第4.3节 - 精密算术适用).或任何涵盖多精度算术的类似书籍.
推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有