multiprecision相关内容

存储和打印大于 2^64 的整数值

我正在尝试编写一个程序来查找梅森素数.使用 unsigned long long 类型,我能够确定第 9 个梅森素数的值,即 (2^61)-1.对于更大的值,我需要一种可以存储大于 2^64 的整数值的数据类型. 我应该能够使用像 *、*=、>、 和% 使用此数据类型. 解决方案 你不能用 C 原生类型做你想做的事,但是有一些库可以处理任意大的数字,比如 GNU 多精度算术库. ..
发布时间:2021-12-25 13:33:38 其他开发

可以用 imul 指令执行多精度有符号乘法吗?

我正在编写一个函数库,为有符号整数类型 s0128、s0256、s0512、 提供所有常规运算符和函数>s1024 和浮点类型 f0128、f0256、f0512、f1024. 我现在正在编写 s0128、s0256、s0512、s1024 乘法例程,但我写错了令我困惑的结果.我假设我可以用 64 位 imul rcx 指令(在 rdx:rax 中产生 128 位结果)级联乘法,就像我可以做 ..
发布时间:2021-06-04 19:49:11 其他开发

计算 64 位乘以 128 位乘积的低 128 位需要多少次 64 位乘法?

考虑到您要计算 64 位和 128 位无符号数相乘结果的低 128 位,并且您可用的最大乘法是类 C 的 64 位乘法,它需要两个64 位无符号输入并返回结果的低 64 位. 需要多少次乘法? 当然,你可以用八个来做到:将所有输入分成 32 位块,并使用 64 位乘法来执行 4 * 2 = 8 所需的全宽 32*32->64 乘法,但可以一个做得更好? 当然,算法应该只在乘法之上 ..
发布时间:2021-06-04 19:49:04 其他开发

将boost :: multiprecision数据类型写入二进制文件

我正在使用 boost :: multiprecision :: uint128_t 类型以便对128位值执行按位运算.但是我在将128位值写到二进制文件时遇到了麻烦.特别是需要用零填充值. 作为一个示例,如果 uint128_t 的值为 0x123456 ,则在十六进制编辑器中查看文件,我需要以下顺序: 56 34 12 00 00 00 00 00 00 00 00 00 00 0 ..
发布时间:2021-04-15 20:50:16 C/C++开发

强制cpp_dec_float向下舍入

我使用 .str(n,std :: ios_base :: scientific)打印 ccp_dec_float 我注意到它向上舍入。 我使用 cpp_dec_float 为会计,所以我需要向下舍入。如何做到这一点? 解决方案 它不四舍五入。事实上,它确实是银行家的:看到 Live On Coliru #include ..
发布时间:2016-10-23 20:28:16 C/C++开发

在CUDA多precision乘法

我想实现在CUDA多precision倍增。对于这样做,我已经实现,应计算 uint32_t的的乘法256位操作数类型,并把结果在288位阵列的内核。到目前为止,我已经想出了这个code: __ device__ __constant__ UN_256fe B_const; __global__无效multiply32x256Kernel(uint32_t的A,UN_288bite *结果){ ..
发布时间:2016-08-25 09:53:41 服务器开发

存储并打印整数值大于2 ^ 64

我想写寻找梅森素数的程序。使用无符号long long类型,我能够确定9梅森素数,这是(2 ^ 61)-1的值。为较大的值,我需要,可以存储整数值大于2 ^ 64更大的数据类型。请帮忙。 (我应该能够使用类似的,运营商的=,>,<和%这种数据类型) 解决方案 您不能做你想做的用C当地人的类型,但也有一些让处理任意大的数字,喜欢的 ..
发布时间:2016-08-18 13:21:49 C/C++

使用Boost.Random生成从种子多precision整数

我试图使用Boost多precision库C ++生成大量随机数。我一直无法创造这是由时间或其他随机数种子的发电机,所以我的发生器产生在每次运行相同的号码。我如何籽变化的值发电机在每次运行时产生不同的价值观?这里是code这工作,但产生在每次运行相同的值: 使用空间boost ::多precision; 使用空间boost ::随机的; typedef的independent_bits_eng ..
发布时间:2016-08-12 18:50:36 C/C++开发

力cpp_dec_float到本轮下跌

我使用名为.str(N,性病:: ::的ios_bas​​e科学)打印 ccp_dec_float 秒。 我已经注意到,它向上舍入。 我使用 cpp_dec_float 会计,所以我需要向下舍入。如何才能做到这一点? 解决方案 它不圆了。事实上,它确实银行家轮:看到它的 住在Coliru 的#include<升压/多precision / number.hpp> #包括L ..
发布时间:2016-08-12 18:08:17 C/C++开发