biginteger相关内容
我想实现BigInt有,并已阅读了有关它的一些主题和文章,大多建议使用较高基地(256或2 ^ 32甚至2 ^ 64)。 为什么高基地有利于这一目的? 其他的问题我已经是我怎么将一个字符串转换为基数较高(> 16)。我看是没有标准的方法,除了BASE64。最后一个问题,我怎么使用这些高基地。一些例子将是巨大的。 解决方案 的CPU周期花费乘以或加入了一些适合在寄存器往往是相同的。所以,你会
..
我试图解决一个程序设计大赛的preliminary问题和我有计算和打印一些非常大的整数的问题2(如100!2 ^ 100)。 我也需要一个快速的方法来计算这个大整数的权力。 您可以咨询我一些这方面的算法或数据结构?(顺便说一句,我读I2C接口和实现“任意precision算术”部分,但它并没有帮助POW()) 编辑:我想通过幂平方方法和位移将电源工作,但我也需要一个快速的方法来计算阶乘这个整
..
我有一点问题。为了能在我的C知识成长,我决定尝试实施基本的BIGINT库。 在BIGINT结构的核心将是32位整数数组,选择,因为他们将适合在寄存器中。这将让我的数字,将在64位整数(也适合在寄存器中,因为我对的x86-64)之间产生溢出做业务,我可以bitshift出结果的各个部分。我已经实现了基本的加法,并测试它的工作,我必须打印阵列。对于我自己的测试目的,如果我用的printf()和输出的
..
我工作的一个CPU沉重的数值计算应用程序。没有进入很多细节,那就是涉及到计算对大整数x某一函数f(x)的计算数学研究项目。 现在一切都用C ++实现在64位模式,采用原生的64位整数。限制我于x 2 ^ 64〜1.8 * 10 ^ 19。我想走得更远,要做到这一点,我需要的,做128位算术库。并且它必须是非常快的。具体地,整数除法应禁食。否则,我会坐在这里等待结果,直到感恩节。我宁愿不推倒重来。
..
我的工作,需要我比C中的最大数值数据类型更大的数字工作的项目。我想使用结构与位域重新present这一点,但它已经有难闻的气味。任何人有什么秘诀吗? (不找一个图书馆,更多的是思维过程去后面做这样的事情的。) 解决方案 我建议首先检查了GNU MP Bignum的库。 如果授权是你必须推出自己的一个问题。我对数据类型的第一选择将是无符号的字符的简单数组有一些额外的数据来表示数组有多大一起
..
什么arbitrary- precision整数(和或有理数)库在那里为在Microsoft Windows上运行的编译器,哪些建议? 请注明许可证类型/成本,支持编译器库(即GCC和或VC ++)。 解决方案 GMP 。 LGPL。从官方网站下载的标准是专为GCC。 VC ++端口可从这里 。
..
我在寻找一个好的任意precision数学C或C ++库。能否请您给我一些意见/建议吗? 主要的要求: 这必须的处理任意大整数(我的主要兴趣是整数)。在你不知道什么擅自字大手段的情况下,想象像100000! (100000阶乘)。 的precision 必须在不需要将被初始化存储库/对象创建过程中指定。在precision应只有由系统的可用资源的制约。 这应该的利用平台的全部功能,并且
..
我想学习C和所遇到的无法与真正的大数字工作(即100位,1000位等)。我知道存在库要做到这一点,但我想尝试实现它自己。 我只是想知道如果任何人有或能提供arbitrary- precision算术非常详细的,简单化的解释。 解决方案 这是足够的贮存和算法来处理数字作为更小的部分的所有问题。让我们假设你有一个编译器,其中一个 INT 只能是0到99,你要处理的人数达到999999(我们只
..
我使用uint256_t使对大整数运算;我想,因为我只使用整数和不浮点数没有任何precision提取数的各位以规则形式(即不以浮点形式)。 例如: 如果我的code的: 的#include<升压/多precision / cpp_int.hpp> uint256_t V = 0xffffffffffffffffffffffffffffff61; 然后我想有32个字节: 61
..
我试图使用BN_ *功能的OpenSSL。具体来说,我有以下的code: #进口<的OpenSSL / bn.h> BIGNUM * NUM = BN_new(); BN_set_word(NUM,42); 字符*缓冲=的malloc((BN_num_bytes(NUM)+1)* sizeof的(炭)); 缓冲[BN_num_bytes(NUM)] ='\\ 0'; INT LEN
..
我需要一个非常大的二进制值转换成相应的十进制数。由于这是我使用的BigInteger一个大的整数。那么,如何转换这种二进制数为BigInteger? 解决方案 如果您有字符串重新您的二进制数presentation,它提供给此重载的BigInteger 构造函数创建一个实例: 的BigInteger(字符串VAL,诠释基数); 在你的情况下,基数显然是2,即可以使用这样的:的BigI
..
公共双[]结果=新的双[? ]; 我存储结果和结果的总数比2,147,483,647这是最大的int32更大。 我试过的BigInteger,ULONG等,但所有的人给我的错误。 我如何延长数组的大小,可以存储在它里面> 50147483647结果(双)? 谢谢... 解决方案 的2,147,483,648 阵列双旨意占用16GB内存。对于一些人来说,这不是什么大不了的事。我有不会甚至
..
我想保存/载入的BigInteger 数组/从共享preferences。 怎样才能做到呢? 例如对于下面的数组: 私人的BigInteger [] dataCreatedTimes =新的BigInteger [20]; 解决方案 考虑 bigInts 是的BigInteger [] 你想从 preference : 的BigInteger [] bigInts =新的BigInt
..
我认为完全转化为BigInteger的[]将是最佳的在我的情况。任何人做了或发现了这个用Java编写的,并愿意分享? 所以,想象我有一个任意大小字节[] = {0xFF的,0x3E的,0x12,0x45,0x1d,0x11,0x2a,0x80,0x81,0x45,0x1d,0x11,0x2a,0x80,0x81} 我该如何将它转换为BigInteger的的数组,然后才能安全地恢复回原来的字节
..
下面的问题被要求在接受记者采访。给定一个11号 N (其中 N ∈ [0,1000] ),得到的计数1 S在的结果。例如n = 3,11 3 = 1331,所以预期的结果将是2或者给定的n = 6,11 6 = 1771561,预期的结果将是3。 我首先想到的是,它必须做一些与杨辉三角和二项式系数(因为我们知道简单的计算 POW(11,1000)不行,至少在C)。 我想通过简单地遍历列在杨辉三
..
我写了一个BigInteger类在C ++中,应该能够做到操作上的任何大小的所有号码。目前,我想通过比较现有的算法和测试,其中数字量,他们工作最好,实现了非常快的乘方法,我遇到了很意外results.I试图做20乘法500位的,我计时他们。这是结果: Karatsuba的: 14.178秒 长乘法: 0.879秒 维基百科告诉我 由此可见,对于足够大的n,Kara
..
的通知 对于二郎的解决方案或 C / C ++ ,到试验4 的下文。 维基百科的文章 整数的平方根 “的整数的平方根”的定义可以在这里找到 计算平方根方法 ,它的“位魔术”可以在这里找到一个算法 [试验1:使用库功能] code isqrt(N)时,二郎:is_integer(N),N> = 0 - > 二郎:TRUNC(数学:开方(N))。 问题
..
我知道这个问题可能已经问在这个论坛很多次,在网上为好。有人问我创建的C ++大整数的实现,但有一个限制,我的构造函数中的一个应该采取一个int作为参数...所以我猜测将会有一个以上的非默认的构造函数.. 。所以我的问题是,什么是做到这一点?最简单的方法 解决方案 现在的问题的话,似乎是“我怎么把一个整数转换位的名单”?换句话说,什么是一个整数的基2重presentation? 由于这应该是家
..
我想使库Java中的类,并利用它们在我未来的计划。我想这些类库找到素数高达一定数量,甚至下一个素数,或者你可以说解决了大部分的基本相关素数的事情。 我从来没有打过一个Java库类。我的目标是学习,这样做。请帮我不认为通过指出教程什么的。我所熟悉的NetBeans IDE中。 在我发现了一些算法,如埃拉托色尼的筛的阿特金的筛。这将是巨大的,如果你能点出几个这样的高效算法。我不希望他们是最好的,但至
..
您好我想乘2个大整数,一个最及时的优化的方式。我目前使用Karatsuba的算法。任何人都可以提出来做到这一点更优化的方式或算法中。 感谢 公共静态BigInteger的Karatsuba的(BigInteger的X,BigInteger的Y){ //截止到蛮力 INT N = Math.max(x.bitLength(),y.bitLength());
..