在Haskell中, Int和Integer什么区别? 答案在哪里logging?
我试图学习C,并遇到无法使用真正的大数字(即100位数,1000位数等)。 我知道存在这样的库,但我想尝试自己实现它。 我只想知道任何人是否有或可以提供任意精度算术的非常详细的,简单的解释。
我正在寻找一个math解决scheme,处理真正(长,大,巨大,风暴)的数字。 我还没有find任何东西,但我不想这个问题在这个时候还没有解决。 我正在寻找一个简单的数字解决scheme,如Microsoft Excel Precision(十进制30)或BigInteger(Java)解决scheme。 在Javascript当然。
是否有JavaScript的内置库或内置,我可以包括像 <script type="text/javascript" src="the_bignum_library.js"></script> ? 我认为我的用户更喜欢在网页上input数字,等待7秒钟的结果,而不是下载一个可执行文件,点击一堆“这个可执行文件可能会损害您的计算机”的警告屏幕来安装它。 我认为基于自己的http://github.com/silentmatt/javascript-biginteger或http://www.mainebrook.com/john/fun/euler.html 。 或者你会推荐从JavaScript调用Java平台库,如apfloat?
要使用大量(100,000+)以上的费马原始性测试时所需的模幂运算 ,需要进行一些非常大的计算。 当我乘以两个大数字(例如:62574和62574)PHP似乎将结果投入浮动。 获得它的模数值返回奇怪的值。 $x = 62574 * 62574; var_dump($x); // float(3915505476) … correct var_dump($x % 104659); // int(-72945) … wtf. 有什么办法让PHP正确执行这些计算吗? 另外,是否有另一种方法来寻找可用于大数目的模数值?
为了加速我的数字divisons,我需要加速对bigint的操作y = x ^ 2,表示为无符号DWORD的动态数组。 要清楚: DWORD x[n+1] = { LSW, ……, MSW }; 其中n + 1是使用的DWORD的数量 所以数值x = x [0] + x [1] << 32 + … x [N] << 32 *(n) 问题是: 如何在没有精确度损失的情况下尽可能快地计算y = x ^ 2? – 使用C ++和整数算术(32位与进位)。 我目前的做法是应用乘法,y = x * x,并避免多重乘法。 例如: x = x[0] + x[1]<<32 + … […]
我想在C ++中实现一个大的int类作为编程练习 – 一个可以处理大于long int的数字的类。 我知道已经有几个开源的实现,但我想写我自己的。 我试图感受一下正确的方法是什么。 我明白,一般的策略是把数字作为一个字符串,然后将其分解成更小的数字(例如单个数字),并将它们放在一个数组中。 在这一点上,实现各种比较操作符应该相对简单。 我主要关心的是如何实现像加法和乘法这样的事情。 我正在寻找一个一般的方法和建议,而不是实际的工作代码。