问题标签 [int128]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 C++ 中进行基本 128 位整数计算的有效方法?
几年前,我需要一种方法来使用 Cuda 进行一些基本的 128 位整数数学运算: cuda 上的 128 位整数?. 现在我遇到了同样的问题,但是这次我需要在不支持任何类型的 128 位的 32 位嵌入式系统(英特尔爱迪生)上运行一些基本的 128 位算术(求和、位移和乘法)。但是,直接支持 64 位整数(unsigned long long int)。
我天真地尝试使用上次在 CPU 上回答我的 asm 代码,但我得到了一堆错误。我真的没有使用 asm 的经验,所以:用 64 位整数实现 128 位的加法、乘法和位移的最有效方法是什么?
c - 如何在 Cython 中使用 128 位整数
在我的 64 位计算机上,该long long类型具有 64 位。
我需要使用 128 位整数,幸运的是GCC 支持这些。如何在 Cython 中使用这些?
以下不起作用。编译foo.pyx只包含
产量
c - 将两个 64 位整数乘以 128 位然后 >> 乘以 64 位的最快方法?
我需要将两个有符号的 64 位整数相乘,a然后b将(128 位)结果转换为有符号的 64 位整数。最快的方法是什么?
fmt我的 64 位整数实际上用小数位表示定点数。例如,fmt选择a * b >> fmt不会溢出,并且不会在 64 位中溢出,因为最终结果将是并且因此适合 int64。abs(a) < 64<<fmtabs(b) < 2<<fmtfmt==56< 128<<fmt
我想这样做的原因是快速准确地((((c5*x + c4)*x + c3)*x + c2)*x + c1)*x + c0以定点格式评估形式的五次多项式,每个数字都是带fmt小数位的有符号 64 位定点数。我正在寻找实现这一目标的最有效方法。
c - C 模数返回负数
我有数据类型unsigned __int128 data;,所以我认为这不是类型问题,但我不知道为什么会发生
返回:
x86 - 现代处理器中是否有对 128 位整数的硬件支持?
我们是否仍然需要在软件中模拟 128 位整数,或者这些天在您的普通桌面处理器中是否有硬件支持?
leading-zero - __int128_t 的前导零计数错误
输出:63 64
gcc 版本 5.3.0 20151204
为什么结果是错误的?有没有其他方法可以计算 int128_t 的前导零。
python - Numpy 八倍精度浮点数和 128 位整数。为什么以及如何?
这主要是出于好奇。我注意到 numpy 测试套件包含对 128 位整数的测试,并且该numerictypes模块引用了int128、float256(八倍精度?)和其他似乎没有映射到我机器上的 numpy dtypes 的类型。
我的机器是 64 位的,但我可以使用四倍 128 位浮点数(但不是真的)。我想如果可以在软件中模拟四倍浮点数,理论上也可以模拟八倍浮点数和 128 位整数。另一方面,直到刚才我还从未听说过 128 位整数或八倍精度浮点数。numerictypes如果没有对应的 s,为什么在 numpy 的模块中会引用 128 位整数和 256 位浮点数,dtype我该如何使用它们?
c - emscripten 支持 __int128?如果不是,如何实现 128 位 int 乘法?
我正在尝试使用 Emscripten 将 C 项目编译为 Javascript,并且我有非常基本的代码,它使用 GCC 扩展支持__int128,如下所示:
现在这些变量是从uint64_t我知道 Emscripten 支持的指针中转换出来的,但是我在编译时收到一个错误,上面写着
所以,要么我不知道如何启用支持,要么不支持这种类型。如果是后者,是否有人有关于如何在没有类型支持的情况下模拟 128 位无符号整数乘法的提示?代码似乎实际上不需要将结果保持为完整的无符号 128 位形式,因为乘法之后的行将数字向下移动到 64 位无符号整数。
redis - redis存储128位数字
我想使用 redis 有效地搜索 IPv6 子网范围。
我想将 IPv6 数字地址存储在 redis 中并按范围搜索它们。这些是128 位 ints,例如:
并按范围查询:
但是,redis sorted-sets 可以保持高达 2^53 的分数,所以我所有的大整数都被修剪了,我正在失去精度。
有没有办法在redis中保存这么大的数字而不会丢失精度?
你有更好的建议吗?谢谢