arbitrary-precision相关内容
我想在C ++中添加2个任意大小的整数。我该怎么做呢? 解决方案 下面是一个示例,显示了如何使用 OpenSSL bignum 实现的任意精度算法。我的示例执行2 64 + 2 65 。我正在使用Linux。 #include #include #include int m
..
在汇编语言中,通常有一条指令将两个操作数加一个进位。如果要实现大整数加法,只需将没有进位的最低整数与有进位的下一个整数相加即可。在无法访问进位标志的C或C ++中,我该如何有效地做到这一点?它应该可以在几种编译器和体系结构上工作,所以我不能简单地使用内联汇编等。 解决方案 您可以使用“ nails” (来自GMP的术语):表示数字时,不要使用 uint64_t 的全部64位,而应仅使用63
..
我想要做的是将两个列表合并在一起,就像每个列表都是整数一样。 (定义(反向lst) (如果(null?lst) '() (追加(反向(cdr lst)) (列表(car lst))))) (定义(apa-add l1 l2) (定义(apa-add-help l1 l2) (cond((和(null?l1)(null?l2))'()) ((null?l1)(列表(+(apa-add-he
..
Oauth需要一个随机的64位无符号数字,以十进制格式编码为ASCII字符串.你们可以用php帮助我实现这一目标吗? 谢谢 解决方案 您可以使用两个32位数字,四个16位数字,等等. PHP具有 rand()和因此,您最最安全的最简单下注将是生成64个随机位,并将它们一一设置. 对于使用64位整数,我建议使用 GMP 库,因为它具有多种功能来帮助您. 您可以创建一个电话号
..
下午好! 我正在尝试基于已有的朴素递归FFT实现开发NTT算法. 考虑以下代码(coefficients'的长度,设为m,是2的精确幂): /// /// Calculates the result of the recursive Number Theoretic Transform. /// ///
..
我有一个数值计算问题,需要以多重精度求解非线性方程式(带长整数). 我从Pavel的此链接尝试了MPFR C ++包装器: mpavel的mpfr C ++包装器 包装器可以在这里下载: mpfrc ++-3.5.6.zip 但是,当处理非常长的整数(使用小整数的公式效果很好)时,解决方案会出现精度损失. 我尝试了以下示例代码中的三个选项: 立即使用代码不适用于“常量整数"
..
我有一个简短的问题,关于vpa命令,该命令可用于评估MatLab中的符号表达式. 我的教科书上说: “在数字上使用诸如sqrt之类的功能时,请务必小心,默认情况下会产生双精度浮点数.您需要将此类输入作为符号字符串传递给vpa正确的评估:vpa('sqrt(5)/pi')." 我不太理解这里的行话.为什么对于大多数输入我键入vpa(input)或vpa('input')都得到完全相
..
从以下地点拆分: 使用浮点精度,计算圆上点的位置时会产生舍入误差. 示例: function pointsOnACircle (whichpoint, numberOfPoints, cx, cy, radius) { //Returns a point along the outside of a circle, starting at (whichpoint=1) = 0
..
Ruby如何做到这一点?约尔格或其他任何人都知道幕后发生了什么吗? 不幸的是,我不太了解C,所以 对我无济于事.我只是有点好奇,有人可以用简单的英语来解释其使用的任何奇迹算法背后的理论. irb(main):001:0> 999**999 368063488259223267894700840060521865838338232037353204655959621437025609
..
x86-64上的高性能高性能本机大整数库如何表示内存中的一个大整数? (或者是否有所不同?有最常用的方法吗?) 天真的我正在考虑将它们存储为以0终止的数字字符串,并以2为底的 64 . 例如,假设X在内存中为: [8 bytes] Dn . . [8 bytes] D2 [8 bytes] D1 [8 bytes] D0 [8 bytes] 0 让B = 2 64 然后
..
我需要找到一个线性程序(所有输入均为整数)的精确实际解.重要的是,求解程序还必须将输出的结果作为有理数输出,理想情况下,不要对浮点数执行任何中间步骤. GLPK可以执行精确的算术运算,但不能将解显示为有理数(即1/3时我得到0.3333).我可能会尝试猜测这个数字是什么意思,但这似乎很脆弱. 我无法找到可以执行此类操作的LP解算器.有一个吗?性能不是一个大问题.我的问题很小. (我确实
..
我有一个numpy的2d数组[中/大型-例如500x500].我想找到它的元素智能指数的特征值.问题在于某些值是非常负的(-800,-1000等),并且它们的指数下溢(意味着它们非常接近零,因此numpy会将它们视为零).无论如何在numpy中使用任意精度? 我的梦想方式: import numpy as np np.set_precision('arbitrary') #
..
我已经尝试过GMP,MPFR。但我无法完成如下的简单划分。顺便说一句,我在Xcode中有LLVM编译器。我尝试编译,运行它到IOS模拟器。 mpf_t a; mpf_init2(a,256); mpf_set_d(a,0.7); mpf_t b; mpf_init2(b,256); mpf_set_d(b,1.0); mpf_t l; mpf_init2(l,2
..
在Perl中是否有任何标准方法可以使用任意长度的整数?我正在研究为测试生成x64程序集的代码,我厌倦了一次操作32位。 我正在使用Perl 5.10.0,for这是值得的。 解决方案 如果你只想使用大整数,你可以使用 bigint ,您可以将其范围转换为文件: 使用bigint; 或仅限范围: { 使用bigint; ......; }
..
我需要在JavaScript中执行以下操作,到目前为止无法找到无缝执行的解决方案: 抓住两个整数一个特定的顺序,并将它们打包为Python的struct模块。 这个打包值(支持不同于字节的字节序的奖励)将变成64位浮点数(双精度)。它们必须是任意的,因此我可能得到整数的指数表示(例如,它们可能是0xdeadbeef和500): 在exp形式中: 1.0883076389305e
..
第一个问题在这里,并且在Common LISP和Haskell中都是新手,请友好。 我在Common LISP中有一个函数 - 下面的代码 - 它是用来判断一个三角形的面积是一个整数(整数?)。 (面积(sqrt(* s($ s)如果(等于(上限面积)(面积)) t 无))) ( - sb)( - sc)))) code> 这应该使用 Heron公式来计算三角形的面积,并给出
..
2013年,有一个关于将大工作代码从双精度转换为四倍精度的问题:“将工作代码从双精度转换为四倍精度:如何从输入文件读取FORTRAN中的四倍精度数字”,以及一致意见是使用指定“工作精度”的可调整参数“WP”来声明变量,而不是使用D + 01声明变量的程序的单独版本,以及使用Q + 01的另一个版本。通过这种方式,我们可以通过在顶部定义WP = real128或WP = real64来轻松切换,其余
..
遵循双重算术的论文和源代码有一段时间,我仍然无法找到一个dd_real(定义为 struct dd_real {double x [2]; ...} )数字是如何分成两个双打。假如我用一个字符串初始化它, dd_real pi =“3.14159265358979323846264338327950”; 将会是什么 pi.x [0] 和 pi.xi [1] ?我需要了解它,然后写一个希望的小Pyt
..
我正在研究一些可以在最坏情况下计算出可以接近 1e-25 的数据的工具,并将它们与Java进行比较。我显然使用双精度。 我已阅读另一个答案我不应该期望超过 1e-15 到 1e-17 precision,这个其他问题处理在以“更好”的顺序订购操作时获得更高的精度。 / p> 哪些双精度操作更趋向于精确度偏差?我应该尝试尽可能大的数字尽可能的数字吗?在进行乘法处理之前首先进行分割?
..
解决方案 不可以在Delphi中使用大量(超过10 ^ 400)的内置方法内置,但您可能需要查看 MPArith 以获取任意精度数学。
..