int128相关内容

现代处理器中是否有对 128 位整数的硬件支持?

我们是否仍然需要在软件中模拟 128 位整数,或者现在您的普通桌面处理器是否有硬件支持? 解决方案 我将通过将台式处理器与简单的微控制器进行比较来解释它,因为算术逻辑单元 (ALU) 的操作类似,它们是计算器在 CPU 中,Microsoft x64 调用约定 vs ..
发布时间:2022-01-06 13:04:57 其他开发

Rust 的 128 位整数 `i128` 如何在 64 位系统上工作?

Rust 有 128 位整数,用数据类型 i128 表示(对于无符号整数,u128): 让a: i128 = 170141183460469231731687303715884105727; Rust 如何使这些 i128 值在 64 位系统上工作;例如它如何对这些进行算术运算? 由于,据我所知,该值无法放入 x86-64 CPU 的一个寄存器中,编译器是否以某种方式将 2 个寄存器用于 ..
发布时间:2021-07-13 20:44:08 其他开发

c 代码:防止模块操作中的超大模块溢出(靠近溢出阈值的模块)

在我的 c 代码中,我必须执行一系列递归模块化操作.特别是我必须执行像 (A*B)modC 这样的操作,C~2^126 和 A,B,原则上,可能是非常大的数字(从 0 到 2^128 - 1)(我与128 位 unsigned __int128 变量). 问题是如何在乘法过程中执行模块.我需要这个,因为如果在乘法之后执行模块,我可能会在乘法期间超过 2^128(如果 A 和 B 非常大)并破坏连 ..
发布时间:2021-06-03 19:15:10 其他开发

如何正确加减128位数字(如两个uint64_t)?

我正在C语言中工作,需要添加和减去一个64位数字和一个128位数字.结果将保存在128位数字中.我正在使用一个整数数组来存储128位数字的上半部分和下半部分(即 uint64_t bigNum [2] ,其中 bigNum [0] 的重要性最低)). 任何人都可以使用bigNum并向其中添加/减去 uint64_t 的加减函数吗? 我在网络上看到了许多不正确的示例,因此请考虑以下问题: ..
发布时间:2021-05-31 20:42:10 其他开发

如何在Cython中使用128位整数

在我的64位计算机上, long long 类型具有64位. print(sizeof(long long))#打印8 我需要使用128位整数,幸运的是 GCC支持这些.如何在Cython中使用它们? 以下内容无效.编译仅包含 的 foo.pyx cdef __int128_t x = 0 收益 $ cython foo.pyx编译Cython文件时出错:------- ..
发布时间:2021-04-28 18:34:18 其他开发

Redis存储128位数字

我想使用Redis有效地搜索 IPv6子网范围. 我想到将IPv6数字地址存储在Redis中并按范围搜索它们. 这些是 128位整数,例如 import ipaddress int(ipaddress.ip_address(u'113f:a:2:3:4:1::77')) > 22923991422715307029586104612626104439L 并按范围查询: ZRAN ..
发布时间:2021-02-09 18:39:25 其他开发

__uint128_t在Mingw gcc上

我正在尝试在mingw gcc下编译一个c程序.该程序使用__uint128_t整数.当我尝试在同一64位计算机上根据标准ubuntu gcc对其进行编译时,它可以完美运行.但是,当我尝试在mingw下为Windows编译它时,它甚至根本无法识别__uint128_t关键字.这是什么意思? mingw下没有128位整数吗? 如果不是,是否有Windows的编程语言具有本地(和FAST)128位整数 ..
发布时间:2020-11-12 23:42:26 其他开发

使用ctypes处理128位整数

使用Python ctypes支持128位整数(当前为__uint128_t)的最佳方法是什么? 也许是两个uint64_t的用户定义结构,但这会在需要的地方创建对齐问题。 关于ctypes为什么没有扩展为支持128位整数的任何想法? 解决方案 如果您真的想使用128位 integers ,那么您就不必担心对齐问题。没有当前的体系结构,也没有运行Python的计算机都支持128 ..
发布时间:2020-10-12 22:57:34 Python

现代处理器中是否有对128位整数的硬件支持?

我们是否仍需要在软件中模拟128位整数,或者这些天您的普通台式机处理器中是否对它们进行硬件支持? 解决方案 x86-64指令集可以使用一条指令执行64位* 64位至128位(对于未签名的 imul, mul 表示每个对象都带有一个操作数),因此我认为在某种程度上说x86指令集确实包含对128位整数的支持。 如果您的指令集没有将64位* 64位转换为128位的指令,那么您需要模仿此指令 ..
发布时间:2020-10-10 23:23:35 其他开发

如何取消显示“ ISO C ++不支持__int128”警告?

我正在用gcc, -Wall -Wextra -Wpedantic 开关和非扩展标准集(例如, -std = c ++ 14 )。但是-我想有一个例外,使用 __ int128 ,这会给我一个警告: 警告:ISO C ++不为'hge'支持'__int128'[-Wpedantic] 我可以禁止显示关于 __ int128 的特定警告吗?另外,我可以在使用这种类型之前和之后 ..
发布时间:2020-10-07 00:00:40 C/C++开发

如何在G ++中打印__int128?

我在C ++程序中使用GCC内置类型 __ int128 进行一些操作,没有什么真正的意义,至少不足以证明仅使用BigInt库是合理的 我的问题是当我进入班级的印刷部分时,这是一个最小的例子: p> #include int main() { __int128 t = 1234567890; std :: cout ..
发布时间:2020-09-26 23:40:04 C/C++开发

gcc 7.3 128位无符号整数运算

我对128位整数的用法感到困惑. 请查看测试代码: uint128_t test_data = 0x00000000FFFFFFFF0101010101010101; uint64_t test_data_h = test_data >> 64; uint64_t test_data_l = test_data ; printf("test_data 0x %016llx %016llx\ ..
发布时间:2020-07-16 18:40:11 其他开发

在C ++中进行基本的128位整数计算的有效方式?

几年以前,我需要一种方式来做一些基本的128位整数数学与Cuda: 128位整数。 现在我有同样的问题,但是这次我需要在不支持任何一种128位的32位嵌入式系统(Intel Edison)上运行一些基本的128位算术(sum,bitshifts和乘法) 。但是,直接支持64位整数(unsigned long long int)。 我在天真地尝试使用上次在CPU上回答的asm代码,但是我收 ..
发布时间:2017-08-15 20:48:17 C/C++开发

使用IPv6地址算术(大整数)

我正在使用IPv6地址格式: FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 在内部我将它们存储在数组中: TIp6Bytes = array [0..15 ]的字节 我需要以多种方式操作IPv6地址,包括添加,分割,乘法等。任何人都建议一个很好的方法来做到这一点? 我想我应该提到我正在使用Delphi 2009 ..
发布时间:2017-04-24 22:50:07 Delphi

与__int128_t在Clang中的错误?

这个小代码与GCC和Clang一起编译,但是给出不同的结果: #include int main(){ __int128_t test = 10; while(test> 0){ int myTest =(int)test; printf(“?%d\\\ ”,myTest); test--; } } 到1,预期的行为 ..
发布时间:2016-11-22 22:56:28 C/C++

如何在boost :: unordered_map中为键使用自定义类型?

我现在使用Boost的哈希映射在项目中的实现,我试图实现一个自定义类型的键。我有四个无符号整数,我想把它们组合成一个128位的数据类型作为键。 我创建了一个32位的结构, 4位元整数数组,作为我的存储。说实话,我不知道Boost的哈希映射如何工作,所以我不知道我在这里做什么,但我按照Boost文档( http://www.boost.org/doc/libs/1%5F37%5F0/doc/h ..
发布时间:2016-10-25 15:16:45 C/C++开发

如何在boost :: unordered_map中为键使用自定义类型?

我现在使用Boost的哈希映射在项目中的实现,我试图实现一个自定义类型的键。我有四个无符号整数,我想把它们组合成一个128位的数据类型作为键。 我创建了一个32位的结构, 4位元整数数组,作为我的存储。说实话,我不知道Boost的哈希映射如何工作,所以我不知道我在这里做什么,但我按照Boost文档( http://www.boost.org/doc/libs/1%5F37%5F0/doc/h ..
发布时间:2016-10-25 15:05:51 C/C++开发

一种在C ++中进行基本的128位整数计算的有效方法?

几年前,我需要一个方法来做一些基本的128位整数数学与Cuda: 128位整数在cuda?。 现在我有同样的问题,但这次我需要在32位嵌入式系统(Intel Edison)上运行一些基本的128位算术(总和,位移和乘法),不支持128位任何类型。但是,有直接支持的64位整数(unsigned long long int)。 我试着天真地使用上次在CPU上回答我的asm代码,但是我遇到了一 ..
发布时间:2016-10-24 17:13:45 C/C++开发