bignum相关内容

Erlang会有数学函数的Bignum吗?

为什么Erlang不包括数学函数的任意精度?我最近不得不使用数学:pow(2,4333),它会抛出一个错误。为什么Erlang不使用像GMP这样的图书馆?是否有计划将其纳入标准图书馆? (Haskell使用它,[罢工]甚至Java有bignum [罢工])。 谢谢。 更新: 要添加更多的透视图,我明白可以使用NIF来完成。我正在解决黑客中的问题,其中输入使用较大的数字。 pow / ..
发布时间:2017-08-27 12:12:21 其他开发语言

用于Delphi的快速BigFloat单元

我正在寻找一个快速的BigFloat单位,它可以处理加法,减法,乘法和除法(日志会很好,但不是必需的),其精度至少为100位小数。 我已经尝试过这个单元,但它比标准慢约1000倍扩展操作。 那么,有没有人知道Delphi的FastFlat(呃)BigFloat单元? Henry 解决方案 总结OP的问题的意见。 AC库可能是大型浮点库的最佳解决方案。 p> GMP 声 ..
发布时间:2017-04-23 23:14:49 Delphi

大量数字的有效指数(我在说谷歌)

我正在解决一个简单的组合问题,其解决方案是2 ^(n-1)。 唯一的问题是1 我尝试使用Java的BigInteger类,但它超时2 ^ 31/10 ^ 4 此外,我只能使用Java或C ++的内置类。 知道我需要速度,我选择在C ++中构建一个对字符串进行算术的类。 现在,我的程序的倍数类似于我们在纸上乘以效率(而不是重复添加字符串)。 但是即使有了,我不能乘 ..
发布时间:2016-10-14 21:26:17 C/C++开发

最好的bignum库解决C + +欧拉问题?

我还是一个学生,我发现项目欧拉非常有趣。 有时,问题需要大于原始类型的计算。我知道你可以实现它,但我太懒了这样做, 所以我尝试了几个库, MAPM ::性能非常好,但它只提供大的浮点数,可能性检查它是否为整数。非常好接受输入,但讨厌提供输出,并用Visual C ++ 2008 express来编译像魔术。 bigint ::一个小的,但需要在很多部分重新工程。使用非常简单 ..
发布时间:2016-10-13 09:52:30 C/C++开发

如何在C ++中实现大int

我想在C ++中实现一个大的int类作为编程练习。一个可以处理大于一个long int数字的类。我知道有几个开源实现已经有,但我想写我自己的。我想知道正确的方法是什么。 我知道一般的策略是获取数字作为字符串,然后分解成更小的数字(例如,单个数字),并将它们放在数组中。在这一点上,应当相对简单地实现各种比较运算符。我主要关心的是我将如何实现像加法和乘法。 我正在寻找一个一般的方法和建议, ..
发布时间:2016-10-11 20:03:38 C/C++开发

用C自定义数据类型

我与加密工作,并需要使用一些真正大量涌现。我也使用carryless乘法需要它是由与发生在浮点数据作为其参数的函数加载它做m128i数据类型新的英特尔指令。 我需要存储2 ^ 1223整数,然后将其平方和存储价值。 我知道我可以使用GMP库,但我认为这将是更快地创建两个数据类型,这两个存储值如2 ^ 1224和2 ^ 2448。这将有较少overhead.I打算使用karatsuba乘以数字, ..
发布时间:2016-08-23 10:15:27 C/C++

使用BIGNUM GMP的平方根

我需要精确地获得一个210位数的平方根,我还以为是GMP对工作的工具,我究竟做错了什么? 的#include<&stdlib.h中GT; #包括LT&;&stdio.h中GT; #包括“gmp.h”INT 主(INT ARGC,CHAR *的argv []) { mpz_t sq_me,sq_out,测试; mpz_init(sq_me); mpz_init(sq_out); ..
发布时间:2016-08-18 23:04:48 C/C++

以二进制转换为十进制的最快方法?

我已经有四个32位无符号整数重新presenting一个无符号的128位整数,用little endian顺序为: typedef结构{ 无符号整数部分[4]; } bigint_t; 我想这个数字转换成十进制字符串重新presentation并输出到一个文件中。 现在,我使用的是 bigint_divmod10 函数通过10来划分的数量,跟踪的其余部分。我反复调用此函数,输出其余 ..
发布时间:2016-08-18 14:39:29 C/C++

Arbitrary- precision算术说明

我想学习C和所遇到的无法与真正的大数字工作(即100位,1000位等)。我知道存在库要做到这一点,但我想尝试实现它自己。 我只是想知道如果任何人有或能提供arbitrary- precision算术非常详细的,简单化的解释。 解决方案 这是足够的贮存和算法来处理数字作为更小的部分的所有问题。让我们假设你有一个编译器,其中一个 INT 只能是0到99,你要处理的人数达到999999(我们只 ..
发布时间:2016-08-17 20:36:24 C/C++

从二进制转换非常大的数字为十进制并打印

我知道如何二进制十进制转换。我知道至少有2种方法:表和力量; - ) 我要二进制转换为十进制并打印此十进制。此外,我不关心这个'小数';我只想打印出来。 但是,正如我上面写的,我知道只有2种方法二进制转换为十进制和他们都需要增加。所以,我计算二进制的1或0的某个值,并将其添加到记住的价值。这是一个薄的地方。我有一个非常,非常大的数字(1和64个零)。虽然转换我需要将一些中间结果一些“变量”。在 ..
发布时间:2016-08-06 22:35:21 开发方法

什么是GCC __attribute __((模式(XX))实际上呢?

这从一个问题,今天早些时候出现在BIGNUM库和gcc黑客特定的主题,以C语言。具体而言,使用这两个声明: 的typedef unsigned int类型dword_t __attribute __((模式(DI))); 在32位系统以及的typedef unsigned int类型dword_t __attribute __((模式(TI))); 在64位系统上。 我想给这是一个扩展的 ..
发布时间:2016-07-21 21:58:19 其他开发

加快64汇编ADD循环

我工作的算术很长整数(大约10万个十进制数字)的乘积。由于我的图书馆的一部分,我将两个长数字。 分析显示,我的code运行高达25%的它的时间在add()和子()程序,所以重要的是他们是尽可能快。但我没有看到很大的潜力,但。也许你可以给我一些帮助,建议,见解或观点。我要对它们进行测试,并送还给你。 到目前为止,我的日常加做一些设置,然后使用8次展开循环: MOV RAX,QWORD PTR ..

如何GMP存储其整数,字节上的任意号码?

2 ^ 64仍然是远从“无限远”我的RAM /硬盘驱动器可以处理... 首先,我想GMP是如何使用的内存/处理器,因为它做一些见不得人的优化的... 我也想知道是否有关于字节任意数量的存储一个整数(无符号,它更容易)的方式。例如,在50个字节,我将有2 ^ 400 -1的帽。 要做的事情是工作很好地进行,以保持从一个字节到另一个一致的数量,我有一些想法,但我真的不知道这将是这样做的最快方法。 ..
发布时间:2016-07-18 20:23:14 C/C++开发

什么是方便下榻之所BIGNUM文献保障;素性测试的算法?

我来编程psented在RSA的原纸上的Solovay-Strassen的素性测试$ P $。 此外我需要写一个小BIGNUM库,因此寻找一种方便的再presentation为BIGNUM,当我碰到这个的规范: 结构{ INT标志; INT大小; INT *标签; } BIGNUM; 我也会使用Karatsuba的方法写一个乘法程序。 所以,我的问题: 什么基础将可 ..
发布时间:2015-11-30 22:00:13 C/C++

十六进制转换为十进制当没有数据类型可以保存完整号码

好了,我正与一个PIC单片机,在C.这是16F,所以它不能持有整数大于32位的(无符号INT32提供最大的数据大小) 这是一个读者,我收到了5个字节的ID code。进行传递,我一定要带连接coded到BCD码,数字一个数字。我不能冲刺它为一个字符串,因为它是大的数据大小,并且不能处理它。我不能把它,因为没有操作定义它。 我想不出任何可能的解决方案,没有任何人有处理过? 编辑: 我接收在一 ..
发布时间:2015-11-30 21:17:45 C/C++

在C中大数量减去

我刚刚完成我的介绍C语言课程考试约20分钟前。在考试的第一个问题抓住我有点猝不及防,并参与寻找差异两个大的数字。 目标是采取两个结构(N1和N2)由值,并存储在参考(N3)通过的结构的差异。我们被允许承担N3与全0开始。最大尺寸可以是任何东西,因此该解决方案仍然要工作,如果数字是100位。 下面的底座code(原可能略有不同,这是从内存) 的#include< stdio.h中> ..
发布时间:2015-11-30 20:30:11 C/C++