问题标签 [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.

0 投票
8 回答
58563 浏览

c# - .Net 中的 Int128?

我需要做一些大整数数学。是否有任何表示 128 位整数并实现所有常用运算符的类或结构?

顺便说一句,我意识到可以使用十进制来表示 96 位整数。

0 投票
4 回答
1976 浏览

delphi - IPv6 地址的算术运算(大整数)

我正在使用以下形式的 IPv6 地址:

FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

在内部,我将它们存储在一个数组中:

我需要以多种方式操作 IPv6 地址,包括加法、除法、乘法等。有人能提出一个好的方法吗?

我想我应该提到我正在使用 Delphi 2009

0 投票
2 回答
2529 浏览

c++ - 如何在 boost::unordered_map 中使用自定义类型的键?

我现在正在一个项目中使用 Boost 的哈希映射实现,并且我正在尝试为键实现自定义类型。我有四个无符号整数,我想将它们组合成一个 128 位数据类型以用作键。

我创建了一个包含四个元素的 32 位整数数组的结构,用作我的存储。老实说,我不确定 Boost 的哈希映射是如何工作的,所以我不确定我在这里做什么,但我遵循了 Boost 文档(http://www.boost.org/doc/libs/1_37_0 /doc/html/hash/custom.html ) 用于扩展 boost::hash,我创建了一个哈希函数,以及一个自定义比较运算符。

我在标题中定义了这个自定义类型。这是我的代码:

现在,当我在 Boost 的无序映射中实际使用这种类型时,我的代码可以编译,但无法链接。链接器声称我在多个目标文件中多次定义了一个符号。我真的很想让我的 128 位类型与这张地图一起工作。关于我搞砸的任何提示,或更好的方法?

0 投票
4 回答
4384 浏览

c# - C#自定义数据类型!

可能重复:
.Net 中的 Int128?

在我决定用 C# 实现我的 Int128 之后,我认为让它看起来像其他 dotNet 数据类型会很好。但我无法实现以下功能:

  • 后缀初始化:如13L和0.2D

我可以在 C# 中制作自己的后缀吗?
如果我不能......我该如何初始化它?
IE

0 投票
5 回答
3414 浏览

c - 如何正确添加/减去 128 位数字(作为两个 uint64_t)?

我在 C 中工作,需要加减一个 64 位数字和一个 128 位数字。结果将保存在 128 位数字中。我正在使用一个整数数组来存储 128 位数字的上半部分和下半部分(即uint64_t bigNum[2]bigNum[0]最低有效位在哪里)。

任何人都可以帮助使用可以接受 bigNum 并对其进行加/减 a 的加法和减法功能uint64_t吗?

我在网上看到了很多不正确的例子,所以考虑一下:

此时bigNum[0]应设置所有位,而bigNum[1]不应设置任何位。

0 投票
6 回答
45181 浏览

c++ - 如何在 Visual Studio 上启用 __int128?

当我__int128在 Visual Studio 中键入 C++ 项目时,编辑器将颜色更改__int128为蓝色(如关键字)。

但是当我编译源代码时,出现以下错误:

如何__int128在 Visual Studio 上启用?

0 投票
3 回答
4321 浏览

c - __uint128_t 上 mingw gcc

我正在尝试在mingw gcc下编译ac程序。该程序使用__uint128_t整数。当我尝试在同一台 64 位机器上的标准 ubuntu gcc 下编译它时,它完美地工作。但是,当我尝试在 mingw 下为 windows 编译它时,它甚至根本无法识别__uint128_t关键字。这是什么意思?mingw下没有128位整数吗?如果没有,是否有任何具有本机(和 FAST)128 位整数的 Windows 编程语言?

0 投票
1 回答
1502 浏览

c++ - Visual Studio 6 中的 128 位整数

可能重复:
如何在 Visual Studio 上启用 __int128?

在 Visual Studio 6 中,我有__int32整数__int64数据类型,但我不能有,__int128尽管我在 64 位机器上工作。

0 投票
1 回答
2067 浏览

c - 如何将十进制ascii字符串转换为C中的整数数组?

我编写了一个处理 IPv6 地址的程序,我需要将四整数数组转换为表示 IPv6 地址数的十进制字符串的代码[1]。现在我遇到了需要进行反向操作的情况:将表示为单个字符串的可能较大的数字(不适合uint32_tor uint64_t,所以atol()or在这里无能为力)转换为四整数或( ) 数组(我将函数从 [ 1] 从 4-int 到变量-uint8_t)。strtol()byteuint8_t

有没有办法做到这一点?

[1]如何在 C 中将 128 位整数转换为十进制 ascii 字符串?

谢谢。这是我在这里的第一个问题,如果有的话,很抱歉英语不好。

0 投票
1 回答
356 浏览

c - 多个VC编译错误

我正在使用 VC++ 在 C 中编写一个 128 位整数“类”(将标头包装在extern "C"块中),但是,在例程构建以检查错误期间,我在添加此函数后遇到了很多:

本质上,如果不够清楚,它会找到给定的负数 (-x) int128_t。这是int128_t结构:

和函数原型:

INT128_INLINE(显然使用了设置它的那个__inline):

现在,我收到的功能错误是:

在你问之前,第 313 行是int128_t inv;. 而且,libplist我正在开发的 Apple PList 库libxml2与 iTunes 数据库一起使用(C:\Users\{YOU}\My Music\iTunes\iTunes Library.xml

我尝试重写该函数以确保它不是一些奇怪的 Unicode 废话(就像人们使用 R2L char 进行巨魔一样),但它没有帮助。我试过做int128_t inv = *ret;,但这只是给出: