biginteger相关内容

Golang大整数到二进制字符串

我看到将golang的big int(数学/大包)转换为字符串很简单,但是有什么简单的方法可以将big int转换为二进制字符串? 解决方案 应该像这样简单: i := big.NewInt(2014) s := fmt.Sprintf("%b", i) // 11111011110 fmt.Println(s) 希望这就是您想要的. ..
发布时间:2020-09-20 20:22:43 其他开发

用BigInteger解释一个无符号负数

是否可以使用Java的BigInteger将负数解析为无符号值? 例如,我将-1解释为FFFFFFFFFFFFFFFF. 解决方案 如果要考虑二进制补码,则必须指定工作位长度. Java long有64位,但是BigInteger没有边界. 您可以这样做: // Two's complement reference: 2^n . // In this case, 2^6 ..
发布时间:2020-09-20 20:22:41 Java开发

为什么Java中的BigInteger设计为不可变的?

在Java中,BigInteger是不可变的,但是我想了解为什么,因为很多时候它被用于执行很多可以产生很多对象的计算.因此,将其设置为不变是一种直观的感觉.我想到的情况类似于字符串操作,然后是StringBuilder的选项.是否应该有BigInteger的不可变对象?我认为这在很多情况下可能是有益的. 编辑:我知道不变性的好处以及它在许多情况下的好处.我只是想了解BigInteger带来的 ..
发布时间:2020-09-20 20:22:38 Java开发

对BigIntegers列表求和

我已经看了很多遍,但无法弄清楚.您如何汇总BigIntegers列表? Using System.Numerics; Using System.Linq; List bigInts = new List(); BigInteger sum = bigInts.Sum(); // doesn't work BigInte ..
发布时间:2020-09-20 20:21:31 C#/.NET

C#中的MillerRabin素数测试

欢迎.我正在尝试实施MillerRabin测试,以检查较大的给定数是否是素数.这是我的代码: public static bool MillerRabinTest(BigInteger number) { BigInteger d; var n = number - 1; var s = FindK( ..
发布时间:2020-09-20 20:21:28 C#/.NET

为什么我的处理器没有内置的BigInt支持?

据我了解,BigInts通常在大多数编程语言中以包含数字的数组的形式实现,例如:当将两个数字相加时,每个数字都会像我们在学校学到的那样一个接一个地添加,例如: 246 816 * * ---- 1062 *表示存在溢出.我在学校是通过这种方式学习的,所有BigInt添加的功能我都实现了与上面的示例类似的工作. 所以我们都知道我们的处理器只能本地管理从0到2^32/2^64的整 ..
发布时间:2020-09-20 20:21:25 其他开发

BigInteger到十六进制

快速提问... 我有一个很长的BigInteger,我想以十六进制字符串的形式写入文件. 我知道Java提供了实现此功能的.toString(16)方法,但是我找不到C#中的等效方法. 我正在使用.NET 4.0中的System.Numerics.BigInteger. 谢谢 解决方案 根据您喜欢的情况使用.ToString("X")或.ToString("x"). ..
发布时间:2020-09-20 20:21:22 C#/.NET

可以通过线程安全的方式安全地递增BigInteger,也许使用AtomicReference而不加锁吗?

我们的很多代码都是旧代码,但是我们正在迁移到“大数据"后端,我正在努力推广更新的API调用,鼓励使用最新的Spring库等.我们的问题之一是应用层ID生成.由于我不明白的原因,上级机构希望使用顺序的BigInteger.我本可以通过重新生成使它们随机化,然后对失败的插入进行重试,但我确实被否决了. 撇开抱怨,我处于一个需要递增并跨线程获取BigInteger的位置,并且以一种安全,高效的方式 ..
发布时间:2020-09-20 20:20:19 Java开发

分配给BigInteger数组中的元素时出错

这是我的代码.当我创建一个BigInteger数组并尝试分配一个值时,它会显示一个错误. package test; import java.math.*; import java.lang.*; import java.util.*; public class Test { public static void main(String[] args) { B ..
发布时间:2020-09-20 20:20:11 Java开发

_umul128在Windows 32位上

在Visual C ++中,将Windows 32位作为目标时_umul128是未定义的. 以Win32为目标时,如何将两个无符号的64位整数相乘? 该解决方案仅需要在针对Windows 32位的Visual C ++ 2017上运行. 解决方案 我找到了以下代码(来自static inline uint64_t __umul128(uint64_t multiplier, uint64_ ..
发布时间:2020-09-20 20:20:04 其他开发

在Java中计算大于int和long的数字的阶乘?

开始在这里和Google搜索几天,然后问我的编程朋友. 不幸的是,我仍然不知道如何更改我的代码... 我的程序计算给定数字的阶乘.然后提供一个数字,该数字表示阶乘答案包括的位数.然后将这些数字的值相加,得出一个总数. 我的程序可用于1之间的任何数字!和31!...如果您输入超过31! (例如50!或100!),它不起作用,只会返回减号而没有总数. 我希望你们能为我指出正确的方向或 ..
发布时间:2020-09-20 20:20:02 Java开发

perl6:无法将65536位宽的bigint开箱到本机整数

我尝试了 Rosettacode 中的一些示例,并遇到了所提供的Ackermann示例的问题:在“未修改"的情况下运行(我将utf-8变量名称替换为latin-1变量名称),得到了(类似,但现在可以复制): $ perl6 t/ackermann.p6 65533 19729 digits starting with 2003529930406846464979072351560255750 ..
发布时间:2020-09-20 20:20:00 其他开发

BigNums实现如何工作?

我想知道BigInt和其他类似的东西是如何实现的.我试图查看JAVA源代码,但对我来说全是希腊文和拉丁文. 您能不能用语言解释我的算法-无需代码,这样我就能理解当我使用JAVA API中的某些东西时我实际上正在使用什么. 问候 解决方案 从概念上讲,这与手工处理任意大小的算术相同.您将拥有一个值数组,以及用于该数组的各种操作的算法. 说您想将100添加到901.您将从两个数字开始作为 ..
发布时间:2020-09-20 20:19:53 其他开发

C#BigInteger.ModPow错误?

我正在使用.NET BigInteger 类执行一些数学运算.但是, ModPow 方法给了我错误的结果.我将它与我认为正确的Java进行了比较: // C# var a = new BigInteger(-1); var b = new BigInteger(3); var c = new BigInteger(5); var x = BigInteger.ModPow(a, b, c); ..
发布时间:2020-09-20 20:19:51 Java开发

C#格式任意大BigInteger,用于无尽的游戏

我正在尝试创建无尽的游戏,例如Tap Titans,Clicker Heroes等.我有一个BigInteger类,只要能容纳在内存中,就可以表示任意大的整数. 现在,我有一个将BigInteger格式化为特定格式的类.对于较小的数字,它使用K(千),M(百万),B(十亿),T(万亿),Q(四十亿),但之后的缩写符号变得模棱两可且不直观.由于五位数,Q已​​经不明确了,但我可以接受. ..
发布时间:2020-09-20 20:18:42 C#/.NET

如何在Python中将长整数写为二进制?

在Python中,长整数具有无限的精度.我想将16字节(128位)整数写入文件.标准库中的struct仅支持最多8个字节的整数. array具有相同的限制.有没有一种方法可以做到,而无需掩盖和移动每个整数? 这里有一些说明:我正在写一个将从非Python程序中读取的文件,所以泡菜不见了.全部使用了128位. 解决方案 两种可能的解决方案: 只需 pickle 您的长整数.这将以 ..
发布时间:2020-09-20 20:18:38 Python

优化Karatsuba实施

因此,我正在尝试改进.net 4的BigInteger类提供的某些操作,因为这些操作似乎是二次的.我对Karatsuba进行了粗略的实现,但它仍然比我预期的要慢. 主要问题似乎是BigInteger没有提供简单的方法来计算位数,因此,我必须使用BigInteger.Log(...,2).根据Visual Studio的说法,约有80-90%的时间用于计算对数. using System ..
发布时间:2020-09-20 20:18:35 C#/.NET