问题标签 [128-bit]

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.

0 投票
1 回答
7562 浏览

c - C 128 位双精度型

我有以下代码...

对于最后一个块,我需要表示一个 128 位二进制数。我知道我可以将类型 _int128 用于 128 位值,但这并不完全准确。

所以我想完全准确地说我可以使用双精度类型,但我找不到任何关于 128 位双精度类型的文献。

有任何想法吗?

0 投票
3 回答
3277 浏览

c - 这个 128 位整数乘法如何在汇编 (x86-64) 中工作?

我正在阅读Computer Systems: A Programmer's Perspective,作业是描述该算法的工作原理。

C函数:

集会:

我不知道它为什么会执行:xh * yl + yh * xl = value which we add after unsigned multiplication

0 投票
1 回答
310 浏览

haskell - Haskell 128 位显示

我的问题是:是否可以在 Haskell 中以 128 位显示 (2^63::Int) ?

因为 Int abs (2^63::Int) 因为 Int 而无法工作,但是如果我有一台 128 位计算机或编译器,那么有可能显示结果吗?

当然,如果可能的话,请告诉我方法:)

0 投票
2 回答
1281 浏览

c - 如何将 4 个 uint32_t int 组合成一个完整的 128 位 int 并返回

作为头文件中结构(我们称之为 ASM)的一部分,声明了四个 uint32_t int。

我想像这样访问这些:ASM->Result1, ASM->Result2etc 并将它们组合成一个 128 位 int ,其中 Result1 是左侧的 0-31 位,所以最后我将拥有:

返回 128bitint = Result1Result2Result3Result4;

如何才能做到这一点?

0 投票
0 回答
94 浏览

c - 如何在 AMD64 的 GCC 中获得 128 位长度以进行更大的数据移动?

我的程序大部分时间都将数组向右移动以让位于新数据插入。所以,我正在寻找优化这个特定代码的方法。memmove()我决定创建自己的函数,而不是使用.OpenMP 来加快执行速度。

这是我的 C 代码子例程:

希望下面的插图有助于理解。

在此处输入图像描述

从上面的代码中,我使用它是long int因为它是可以在一个 CPU 步骤中移动的最大块数据(我假设)。但我正在寻找更大的数据长度。

我的问题是:INTEL 处理器是否专门支持 128 位物理长度来移动数据?如果有,如何利用它?

我知道 GCC 支持 128 位 int 长度进行数学运算,但据我了解,它需要两次 CPU 周期,因此它实际上是重复两次的本机 64 位数据。

0 投票
2 回答
3516 浏览

c++ - 如何使用 boost::uuids::uuid 转换为 128/64 位数字?

我使用此代码从 boost 中生成 UUID:

它给了我十六进制数字,例如:“0xCC5B9F6946EF4448A89EDB2042E0B084”。

我的问题是:如何将此字符串(128 位十六进制数)转换为 128 长或 64 位长(可以丢失更高的数据)?

在这种情况下,标准 C 环礁和 C++ std::stoll 没有帮助。

UUID 优先用于随机生成质量。

谢谢!

0 投票
2 回答
2624 浏览

c++ - 如何在 C++ 中输入 128 位无符号整数

我是 C++ 新手。我想使用 scanf 输入一个无符号的 128 位整数并使用 printf 打印它。由于我是 c++ 新手,我只知道这两种输入输出方法。有人可以帮我吗?

0 投票
0 回答
217 浏览

llvm - 在 LLVM 中使用 printf 将 128 位整数(在运行时计算)打印为字符串

我试图在运行时使用对 LLVM 中的 printf 的调用打印出 128 位结果。

我可以使用 printf 中的格式字符串 "%d" 打印 32 到 64 位整数。

请参阅下面的代码,因为我在尝试打印运行时计算的 128 位值时遇到了一些困难。包含动态转换为 ConstantInt 的代码部分永远不会执行,因为该值永远不会转换为 ConstantInt。

(我在 SO 上看到了这种方法 - LLVM 从 Value* 中获取常量整数

下面只显示相关的代码部分

0 投票
1 回答
202 浏览

sql - 存储 128 位散列:两个大整数或二进制(16)?

我必须将几百万个 128 位哈希值存储到数据库中,并且我正在为我的表设计而苦苦挣扎。

我应该将哈希存储在两个 BIGINT 字段中还是只使用 BINARY(16)?我的典型用例是根据哈希查找重复记录。

我可以使用(有两个大整数)

或(使用 binary(16) 列)

性能是否重要?

我正在使用 MS SQL Server,但我认为这在这里并不重要。但是,我正在从 C# 程序访问 MS SQL,并且首选易于读取/写入值,但不是交易破坏者。目前我有一个ulong数组。

0 投票
1 回答
109 浏览

c# - 无法使用 128 位浮点库 QPFloat 编译控制台应用程序

我是新来的。

我有一个很想得到帮助的问题。我对 c# 很陌生,我正在尝试使用支持 128 位浮点运算的QPFloat 库( https://sourceforge.net/p/qpfloat/home/Home/ )。

我在 GitHub ( https://github.com/coder0xff/QPFloat ) 上下载了源代码,解压后打开了“QPFloat.sln”。

我在 x64 上构建它并创建了“./x64/Release/QPFloat.dll”。一切都好。

我在 Visual Studio 社区 2017 上创建了一个新的 .net 框架 4.6.1 控制台项目,我引用了“QPFloat.dll”并创建了以下代码:

我执行它,它抛出了我:

我不知道出了什么问题。“QPFloat.dll”是否编译时出现错误,还是我必须在我的项目中添加一些东西?

请不要告诉我使用“十进制”类,因为它不适合我的目的,因为它不使用所有位而且太慢了。