问题标签 [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 回答
43 浏览

python - VBA - 128位值到128个复选框

我需要一些帮助如何将一些数据从 Pythonscript 传输到我的 VBA 程序中。我有一个带有 128 个开关的系统,可以打开或关闭(1 或 0)。在我的 python 脚本中,我读取了各个开关的值,现在我想将该数据发送回我的 VBA 程序,其中有 128 个代表这些开关的复选框。

我目前的进展是在 python 中对这 128 个数字进行位移,然后使用该 128 位整数打印回 VBA。现在我在 python 中使用“print”,并在 VBA 中检查 shell 中的打印 - 然后我将该数据读出到一个字符串中。

现在我的字符串将具有我的开关的 ASCII 值(等 170141183460469231733416685972794376193)

如何将此 ASCII 字符串转换为有用的内容以单击这些复选框?我计划使用一个循环,然后运行 ​​128 次

Controls("CheckBox" & Counter).value = BINARYVALUE[Counter]

其中 counter 是循环计数器,BINARYVALUE 是存储 128 位二进制值的位置

谢谢您的帮助!

0 投票
2 回答
159 浏览

assembly - 就 64 位除法而言,是否可以在不分支的情况下执行 128 位/64 位除法?

我正在使用 Algorand 合约代码,该代码在其汇编代码中的可能操作范围非常有限 - 例如,无法控制代码流。可以使用基本的 64 位算术运算。

我需要做的是将某个 128 位整数的两个 64 位段(作为一个完整的 128 位数字)除以另一个 64 位整数,知道结果将适合 64 位整数。是否可以不控制代码流而仅使用 64 位算术?

0 投票
1 回答
168 浏览

assembly - 无法使用 nasm 编译具有 xmmword 操作数大小的汇编代码

我试图使用nasm( nasm -o file input.asm) 编译汇编代码,并在以下代码片段的第 2 行抛出错误:

我不确定是否可以使用 128 位寄存器编译指令,nasm但在涉及 128 位寄存器的情况下,是否有任何其他方法可以使用 nasm 进行编译?

0 投票
1 回答
54 浏览

c - 如何输出 64 位到 128 位范围内的数字(如 2^64、3^64、4^64 等)?

当我编码时,我遇到了一个问题:我需要输出 2^64 的数字(还有 3^64 等)。我尝试过 unsigned long long int,但仍然不够(它包含 2^64-1)。如果有人知道我如何输出从 64 位到 128 位的数字,请告诉我(顺便说一句,我正在尝试在 C 上执行此任务)。

0 投票
2 回答
74 浏览

64-bit - 如何将 128 位被除数除以 64 位除数,其中被除数的位全为 1,而我只需要商的 64 个 LSB?

我需要计算((2^128) - 1) / x。除数 ,x是一个无符号的 64 位数字。被除数由两个无符号 64 位数字(高位和低位)组成,其中两个数字都是UINT64_MAX. 我只能使用 64 位算术并且需要它是可移植的(不使用 GNU's __int128、MSCV's _udiv128、程序集或类似的东西)。我不需要商的高部分,我只需要低 64 位。

我该怎么做这个操作?

另外:x >= 3,x不是 2 的幂。

编辑:我创建了自己的解决方案(答案如下)。但我欢迎任何其他性能更好的解决方案:)

0 投票
0 回答
35 浏览

math - 使用 Uint 128 位将小数部分的精度从 8 位小数提高到 18 位小数

我正在尝试将无符号整数转换为精度高达 18 位小数的浮点。

我使用的语言(Clarity)没有浮点数,所以我必须使用无符号整数来表示小数和整个部分。

Uint 只有 128 位长,因此最多只能有 39 位。

我需要知道如何使用 128 位 Uint 来表示精度高达 18 位小数的浮点数。我需要编写算术运算,例如 Add、Sub、Mul、Div、Pow。

例如,28 ^ 0.5 = 5.291502622129181181 其中,

  • 00000000000000000005 是整个部分(20 位)和
  • 291502622129181181 为小数部分(18 位)
0 投票
0 回答
79 浏览

c - 将两个无符号 64 位整数与 AVX2 相乘的向量化?

是否有一种众所周知且有效的方法可以对(两个数组)无符号 64 位整数的乘法进行矢量化,从而产生 128 位整数?

我发现这个线程虽然只谈论使用单个指令。

0 投票
2 回答
70 浏览

floating-point - 我想在不包含浮点数的系统中执行两个 128 位无符号整数的乘法和除法

目前我面临一个问题,当我将两个数字相乘时,它会从只能包含最大数字的最大范围
5e20 * 5e20 = 2.5E41
溢出。所以我不能将两个非常大的数字相乘,因此我的精度会降低。我想要精确到小数位。如果我也执行数字除法,我得到的只是因为我的系统不包含浮点,所以浮点部分被忽略。为了达到精度,我通过乘以得到 16 位小数精度来扩大我的红利。我还尝试使用科学记数法来解决我的精度问题,以便我可以通过书写进行乘法和除法,但正因为如此,我的乘法保持格式不变,而我的除法保持不变128 bit39 digits16
10 / 3 = 3.3333333
31e16
2.5/4 or 2.5x4

25x10^-14x10^0scale-downscaled-up形式
2.5/4 = 6.25E16 * 10^-1 (scaled up)
2.5*4 = 100 * 10^-1 (scaled down)

我怎么解决这个问题?我应该使用什么方法?

0 投票
0 回答
40 浏览

c++ - 对 4 个 32 位无符号整数表示的 128 位数字求和的正确方法?

我在 C++ / CUDA 中创建了一个内核,我需要将两个 128 位数字相加,如下所示:

实现这一目标的最有效的 C++ 方法是什么?谢谢。

PS溢出到129bit可以忽略。