arbitrary-precision相关内容

没有进位标志的大整数加法

在汇编语言中,通常有一条指令将两个操作数加一个进位。如果要实现大整数加法,只需将没有进位的最低整数与有进位的下一个整数相加即可。在无法访问进位标志的C或C ++中,我该如何有效地做到这一点?它应该可以在几种编译器和体系结构上工作,所以我不能简单地使用内联汇编等。 解决方案 您可以使用“ nails” (来自GMP的术语):表示数字时,不要使用 uint64_t 的全部64位,而应仅使用63 ..
发布时间:2020-06-02 18:40:30 C/C++开发

使用数字列表进行任意精度加法

我想要做的是将两个列表合并在一起,就像每个列表都是整数一样。 (定义(反向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 ..
发布时间:2020-06-02 18:39:58 其他开发

如何在PHP中生成随机的64位值作为十进制字符串

Oauth需要一个随机的64位无符号数字,以十进制格式编码为ASCII字符串.你们可以用php帮助我实现这一目标吗? 谢谢 解决方案 您可以使用两个32位数字,四个16位数字,等等. PHP具有 rand()和因此,您最最安全的最简单下注将是生成64个随机位,并将它们一一设置. 对于使用64位整数,我建议使用 GMP 库,因为它具有多种功能来帮助您. 您可以创建一个电话号 ..
发布时间:2020-05-26 22:55:11 PHP

用mpreal.h解带长整数参数的非线性方程时的精度损失

我有一个数值计算问题,需要以多重精度求解非线性方程式(带长整数). 我从Pavel的此链接尝试了MPFR C ++包装器: mpavel的mpfr C ++包装器 包装器可以在这里下载: mpfrc ++-3.5.6.zip 但是,当处理非常长的整数(使用小整数的公式效果很好)时,解决方案会出现精度损失. 我尝试了以下示例代码中的三个选项: 立即使用代码不适用于“常量整数" ..

MatLab-可变精度算法

我有一个简短的问题,关于vpa命令,该命令可用于评估MatLab中的符号表达式. 我的教科书上说: “在数字上使用诸如sqrt之类的功能时,请务必小心,默认情况下会产生双精度浮点数.您需要将此类输入作为符号字符串传递给vpa正确的评估:vpa('sqrt(5)/pi')." 我不太理解这里的行话.为什么对于大多数输入我键入vpa(input)或vpa('input')都得到完全相 ..
发布时间:2020-05-06 15:02:11 其他开发

Ruby的任意精度算法

Ruby如何做到这一点?约尔格或其他任何人都知道幕后发生了什么吗? 不幸的是,我不太了解C,所以 对我无济于事.我只是有点好奇,有人可以用简单的英语来解释其使用的任何奇迹算法背后的理论. irb(main):001:0> 999**999 368063488259223267894700840060521865838338232037353204655959621437025609 ..
发布时间:2020-05-06 10:49:34 其他开发

x86-64大整数表示形式?

x86-64上的高性能高性能本机大整数库如何表示内存中的一个大整数? (或者是否有所不同?有最常用的方法吗?) 天真的我正在考虑将它们存储为以0终止的数字字符串,并以2为底的 64 . 例如,假设X在内存中为: [8 bytes] Dn . . [8 bytes] D2 [8 bytes] D1 [8 bytes] D0 [8 bytes] 0 让B = 2 64 然后 ..
发布时间:2020-05-06 10:35:19 其他开发

查找线性程序的确切解决方案

我需要找到一个线性程序(所有输入均为整数)的精确实际解.重要的是,求解程序还必须将输出的结果作为有理数输出,理想情况下,不要对浮点数执行任何中间步骤. GLPK可以执行精确的算术运算,但不能将解显示为有理数(即1/3时我得到0.3333).我可能会尝试猜测这个数字是什么意思,但这似乎很脆弱. 我无法找到可以执行此类操作的LP解算器.有一个吗?性能不是一个大问题.我的问题很小. (我确实 ..
发布时间:2020-04-30 12:17:05 其他开发

numpy任意精度线性代数

我有一个numpy的2d数组[中/大型-例如500x500].我想找到它的元素智能指数的特征值.问题在于某些值是非常负的(-800,-1000等),并且它们的指数下溢(意味着它们非常接近零,因此numpy会将它们视为零).无论如何在numpy中使用任意精度? 我的梦想方式: import numpy as np np.set_precision('arbitrary') # ..
发布时间:2020-04-30 11:58:23 Python

如何在Perl中使用任意长度的整数?

在Perl中是否有任何标准方法可以使用任意长度的整数?我正在研究为测试生成x64程序集的代码,我厌倦了一次操作32位。 我正在使用Perl 5.10.0,for这是值得的。 解决方案 如果你只想使用大整数,你可以使用 bigint ,您可以将其范围转换为文件: 使用bigint; 或仅限范围: { 使用bigint; ......; } ..
发布时间:2018-08-06 20:41:43 其他开发

JavaScript包整数并计算任意精度浮点数:

我需要在JavaScript中执行以下操作,到目前为止无法找到无缝执行的解决方案: 抓住两个整数一个特定的顺序,并将它们打包为Python的struct模块。 这个打包值(支持不同于字节的字节序的奖励)将变成64位浮点数(双精度)。它们必须是任意的,因此我可能得到整数的指数表示(例如,它们可能是0xdeadbeef和500): 在exp形式中: 1.0883076389305e ..
发布时间:2018-08-06 20:34:59 前端开发

共同LISP和堆栈中的数字类型边界在GHCI中流动

第一个问题在这里,并且在Common LISP和Haskell中都是新手,请友好。 我在Common LISP中有一个函数 - 下面的代码 - 它是用来判断一个三角形的面积是一个整数(整数?)。 (面积(sqrt(* s($ s)如果(等于(上限面积)(面积)) t 无))) ( - sb)( - sc)))) code> 这应该使用 Heron公式来计算三角形的面积,并给出 ..
发布时间:2018-06-05 11:06:44 其他开发

我如何声明一个数字的精度是一个可调参数?

2013年,有一个关于将大工作代码从双精度转换为四倍精度的问题:“将工作代码从双精度转换为四倍精度:如何从输入文件读取FORTRAN中的四倍精度数字”,以及一致意见是使用指定“工作精度”的可调整参数“WP”来声明变量,而不是使用D + 01声明变量的程序的单独版本,以及使用Q + 01的另一个版本。通过这种方式,我们可以通过在顶部定义WP = real128或WP = real64来轻松切换,其余 ..
发布时间:2018-03-16 17:30:22 其他开发

双双精度浮点数为两倍的总和

遵循双重算术的论文和源代码有一段时间,我仍然无法找到一个dd_real(定义为 struct dd_real {double x [2]; ...} )数字是如何分成两个双打。假如我用一个字符串初始化它, dd_real pi =“3.14159265358979323846264338327950”; 将会是什么 pi.x [0] 和 pi.xi [1] ?我需要了解它,然后写一个希望的小Pyt ..
发布时间:2017-12-21 21:27:21 其他开发

订购操作最大化双精度

我正在研究一些可以在最坏情况下计算出可以接近 1e-25 的数据的工具,并将它们与Java进行比较。我显然使用双精度。 我已阅读另一个答案我不应该期望超过 1e-15 到 1e-17 precision,这个其他问题处理在以“更好”的顺序订购操作时获得更高的精度。 / p> 哪些双精度操作更趋向于精确度偏差?我应该尝试尽可能大的数字尽可能的数字吗?在进行乘法处理之前首先进行分割? ..
发布时间:2017-07-12 00:49:58 Java开发