bignum相关内容
我想在 C++ 中实现一个大 int 类作为编程练习——一个可以处理大于 long int 的数字的类.我知道已经有几个开源实现,但我想自己编写.我正在尝试了解正确的方法是什么. 我了解一般策略是将数字作为字符串获取,然后将其分解为较小的数字(例如单个数字),并将它们放入数组中.此时,实现各种比较运算符应该相对简单.我主要关心的是如何实现加法和乘法. 我正在寻找一种通用的方法和建议,而
..
在 Haskell 中,Int 和 Integer 有什么区别?答案记录在哪里? 解决方案 “整数"是任意精度类型:它将保存任何数字不管多大,到极限你机器的内存……这意味着你从来没有算术溢出.在另一手这也意味着你的算术是比较慢.Lisp 用户可以在这里识别“bignum"类型. “Int"是更常见的 32 位或 64 位整数.实现方式不同,虽然它保证在至少 30 位. 来源
..
这源于今天早些时候关于 bignum 库和 gcc 特定于 C 语言的 hacks 的问题.具体来说,使用了这两个声明: typedef unsigned int dword_t __attribute__((mode(DI))); 在 32 位系统上和 typedef unsigned int dword_t __attribute__((mode(TI))); 在 64 位系统上.
..
我正在寻找一个处理真正(长、大、巨大、风暴)数字的数学解决方案.我还没有找到任何东西,但我不想认为这个问题目前还没有解决.我正在寻找一个简单的数字解决方案,例如 Microsoft Excel Precision(30 位小数)或 BigInteger (Java) 解决方案.当然是在 Javascript 中. 解决方案 在为 ElGamal 加密实现寻找大整数库时,我测试了几个库,结果
..
编译器:MinGW/GCC 问题:不允许使用 GPL/LGPL 代码(GMP 或任何与此相关的 bignum 库,对于这个问题来说太过分了,因为我已经实现了该类). 我已经构建了自己的 128 位 固定大小的大整数类(旨在用于游戏引擎,但可以推广到任何用例),并且我发现了当前乘法的性能并且除法运算非常糟糕(是的,我已经对它们进行了计时,见下文),并且我想改进(或更改)执行低级数字运算的算法
..
我正在处理无法四舍五入的大量数字.使用 Lua 的标准数学库,似乎没有方便的方法来保持精度超过某些内部限制.我还看到有几个库可以加载以处理大数字: http://oss.digirati.com.br/luabignum/ http://www.tc.umn.edu/~ringx004/mapm-main.html http://lua-users.org/lists/lua-l/200
..
我正在尝试学习 C,但遇到了无法处理非常大的数字(即 100 位、1000 位等)的问题.我知道存在可以执行此操作的库,但我想尝试自己实现它. 我只想知道是否有人已经或可以提供对任意精度算术的非常详细、简化的解释. 解决方案 将数字视为较小部分的充分存储和算法完全是问题.假设您有一个编译器,其中 int 只能是 0 到 99,并且您想处理最大为 999999 的数字(为了简单起见,我
..
在 Haskell 中,Int 和 Integer 之间有什么区别?答案记录在哪里? 解决方案 "Integer" 是任意精度类型:它将容纳任何数字没有不管有多大,到极限你机器的内存....这意味着你从来没有算术溢出.在另一手也意味着你的算术是比较慢.Lisp 用户可以在这里识别“bignum"类型. “Int"是更常见的 32 位或 64 位整数.实现方式各不相同,虽然它保证在
..
我想在 C++ 中实现一个 big int 类作为编程练习——一个可以处理比 long int 大的数字的类.我知道已经有几个开源实现,但我想自己写一个.我正在尝试了解正确的方法是什么. 我知道一般的策略是将数字作为字符串获取,然后将其分解为较小的数字(例如单个数字),然后将它们放入数组中.此时实现各种比较运算符应该比较简单.我主要关心的是如何实现加法和乘法之类的东西. 我正在寻找一种
..
使用Fermat Primality Test 具有大量(100,000+),它需要一些非常大的计算. 当我将两个大数(例如:62574 和 62574)相乘时,PHP 似乎将结果转换为浮点数.获取它的模值会返回奇怪的值. $x = 62574 * 62574;var_dump($x);//float(3915505476) ... 正确var_dump($x % 104659);//in
..
我有一个类BigNum: struct BigNum{矢量数字;BigNum(向量数据){for(int item : data){d.push_back(item);}}int get_digit(size_t 索引){返回(索引 >= d.size() ? 0 : d[index]);}}; 我正在尝试编写代码来将两个 BigNum 相乘.目前,我一直在使用传统的乘法方
..
我正在尝试使用 OpenSSL 库将表示大整数的字符串 p_str 转换为 BIGNUM p. #include #include int主(){/* 我缩短了整数 */无符号字符 *p_str = "82019154470699086128524248488673846867876336512717";BIGNUM *p = BN_bin2bn(p_str, sizeof(p_str), NU
..
我正在用C实现RSA.我使用的是"unsigned long long int"(上限:18446747007370955115). 当我不得不计算诸如 4294967296 ^ 2 之类的问题时,问题就来了.应该是 18446744073709551616 ,但我却得到 0(溢出).我的意思是,我需要计算结果超出上限的东西. 我尝试使用float,double,long double
..
我正在尝试将SHA-2 256位校验和存储在列中: create_table:checksums do | t | t.binary:value,:null => false,:limit => 32 结束 我将这样存储值: c = Checksum.new big_num = Digest :: SHA2.new.update(“一些要校验的字符串”)
..
在Windows 32位平台上,我必须阅读一些数字,这是出乎意料的,其值可以高达99,999,999,999,但不能超过。尝试 sprintf(“%011d”,$ myNum)会产生一个溢出:-2147483648。 我不能使用BigInt模块,因为在这种情况下,我应该深刻地更改代码。我不能将格式作为字符串 sprintf(“%011s”,$ numero)来管理,因为减号处理不正确。
..
是否存在仅将很长的数字转换为字符串就复制数据的库? 这些单行太慢了: def xlong(s): 返回总和([e(c)> 8)如果x else'' 打印xlong('abcd'* 1024)%666 打印xstr(13
..
num =“ 0000001000000000011000000000000010010011000011110000000000000000” for n in 0 ... num.length temp = num [n] dec = dec + temp *(2 **(数字长度-n-1)) 结束 卖出dec 当我在irb中运行此代码时,输出以下错误消息。当
..
鉴于Wikipedia对 Double Factorial 的讨论,有人可以建议我在哪里找到这是Perl的bignum版本,还是建议如何编写? 解决方案 Perl将处理您的C编译器可以处理的一切,对于更大的内容,您应该使用 Math :: BigInt 。 我建议您阅读 perlnumber 。 双阶乘(在perl高尔夫中): sub f {$ _ [0]& $ _ [
..
我想看看除法运算的常数,所以我运行了这段代码 导入时间 def di(n): n / 101 i = 10 而我
..
我在Rust中尝试了递归阶乘算法。我使用的是此版本的编译器: rustc 1.12.0(3191fbae9 2016-09-23) 货物0.13每晚.0(109cb7c 2016-08-19) 代码: 外部箱子num_bigint; 个外部箱子num_traits; 使用num_bigint :: {BigUint,ToBigUint}; 使用num_
..