标签: bignum

Int和Integer有什么区别?

在Haskell中,a Int和an 之间有什么区别Integer?答案记录在哪里?

int haskell integer numbers bignum

161
推荐指数
6
解决办法
6万
查看次数

任意精度算术解释

我正在尝试学习C并且遇到无法使用真正的大数字(即100位,1000位等).我知道存在这样做的库,但我想尝试自己实现它.

我只是想知道是否有人或者可以提供任意精度算术的非常详细,愚蠢的解释.

math biginteger bignum

89
推荐指数
3
解决办法
3万
查看次数

如何在C++中实现大型int

我想在C++中实现一个大的int类作为编程练习 - 一个可以处理大于long int的数字的类.我知道已经有几个开源实现,但我想写自己的.我试图了解正确的方法是什么.

我知道一般策略是将数字作为字符串,然后将其分解为较小的数字(例如,单个数字),并将它们放在一个数组中.此时,实现各种比较运算符应该相对简单.我主要担心的是如何实现添加和乘法等功能.

我正在寻找一种通用的方法和建议,而不是实际的工作代码.

c++ largenumber biginteger bignum

78
推荐指数
6
解决办法
9万
查看次数

在PHP中使用大量数字

要使用大数(100,000+)的Fermat Primality Test时需要使用模幂运算,需要进行一些非常大的计算.

当我乘以两个大数(例如:62574和62574)时,PHP似乎将结果转换为浮点数.获取模数值会返回奇怪的值.

$x = 62574 * 62574;
var_dump($x);          // float(3915505476) ... correct
var_dump($x % 104659); // int(-72945)  ... wtf.
Run Code Online (Sandbox Code Playgroud)

有没有办法让PHP正确执行这些计算?或者,是否有另一种方法可以找到适用于大数的模数值?

php bignum

53
推荐指数
3
解决办法
7万
查看次数

JavaScript处理大数字(BigNum)的标准解决方案是什么?

是否有一个用于JavaScript或内置的bignum库,我可以包括

<script type="text/javascript" src="the_bignum_library.js"></script>
Run Code Online (Sandbox Code Playgroud)

我认为我的用户更愿意在网页中输入数字并等待7秒才能获得结果,而不是下载可执行文件并点击一堆"此可执行文件可能会损害您的计算机"警告屏幕进行安装.

我考虑过自己的http://github.com/silentmatt/javascript-bigintegerhttp://www.mainebrook.com/john/fun/euler.html.或者你会建议从JavaScript调用Java bignum库,如apfloat?

javascript floating-accuracy bignum

50
推荐指数
1
解决办法
4万
查看次数

如何在.NET中表示一个非常大的整数?

.NET是否带有能够表示极大整数的类,例如100阶乘?如果没有,有什么好的第三方图书馆可以做到这一点?

.net bignum

26
推荐指数
4
解决办法
8486
查看次数

如何在javascript中处理大数字

我正在寻找一个处理真实(长,大,巨大,风暴)数字的数学解决方案.我还没有找到任何东西,但我不想认为这个问题目前还没有解决.我正在寻找一个简单的数字解决方案,如Microsoft Excel Precision(30位小数)或BigInteger(Java)解决方案.在Javascript当然.

javascript floating-point decimal biginteger bignum

22
推荐指数
2
解决办法
4万
查看次数

GCC __attribute __((模式(XX))实际上做了什么?

这源于今天早些时候关于bignum库和gcc特定的C语言攻击主题的问题.具体来说,使用了这两个声明:

typedef unsigned int dword_t __attribute__((mode(DI)));
Run Code Online (Sandbox Code Playgroud)

在32位系统和

typedef unsigned int dword_t __attribute__((mode(TI)));
Run Code Online (Sandbox Code Playgroud)

在64位系统上.

我假设这是对C语言的扩展,没有办法实现它在当前(C99)标准中实现的任何目标.

所以我的问题很简单:这个假设是否正确?这些陈述对底层内存有何影响?我认为结果是我2*sizeof(uint32_t)对于dword32位系统和2*sizeof(uint64_t)64位系统,我是否正确?

c attributes c99 bignum

22
推荐指数
1
解决办法
1万
查看次数

Lua的标准(或最佳支持)大数(任意精度)库是什么?

我正在处理那些我无法完成的大数字.使用Lua的标准数学库,似乎没有方便的方法来保持精度超过某些内部限制.我还看到有几个库可以加载以使用大数字:

  1. http://oss.digirati.com.br/luabignum/
  2. http://www.tc.umn.edu/~ringx004/mapm-main.html
  3. http://lua-users.org/lists/lua-l/2002-02/msg00312.html(可能与#2相同)
  4. http://www.gammon.com.au/scripts/doc.php?general=lua_bc(但我找不到任何来源)

此外,如果已建立绑定,则可以从Lua调用C 中的许多库.

您是否有过使用这些库中的一个或多个的经验?

math precision lua bignum

20
推荐指数
4
解决办法
7598
查看次数

长整数例程可以从SSE中受益吗?

我还在研究C++中任意长整数的例程.到目前为止,我已经为64位Intel CPU实现了加/减和乘法.

一切正常,但我想知道我是否可以通过使用SSE来加快速度.我浏览了SSE文档和处理器指令列表,但我找不到任何我认为可以使用的内容,原因如下:

  • SSE有一些整数指令,但大多数指令处理浮点.看起来它不是设计用于整数(例如,是否有较小的整数比较?)

  • SSE的想法是SIMD(相同的指令,多个数据),因此它提供了2或4个独立操作的指令.另一方面,我希望有一个像128位整数加(128位输入和输出)的东西.这似乎不存在.(但是?在AVX2中可能?)

  • 整数加法和减法既不处理输入也不处理输出.因此,手动操作非常麻烦(因而也很慢).

我的问题是:我的评估是正确的还是有什么我忽略的?长整数例程可以从SSE中受益吗?特别是,它们可以帮助我编写更快的添加,子或mul例程吗?

performance integer sse bignum arbitrary-precision

19
推荐指数
1
解决办法
3773
查看次数