迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

在 C++ 中使用 128 位整数

作者:迹忆客 最近更新:2023/09/03 浏览次数:

在本文中,我们将讨论 C++ 中的 128 位整数。 我们还将了解为什么需要它以及 C++ 中可能的替代方案。


在 C++ 中使用 128 位整数

我们有多种选择来处理 C++ 中的整数。 从int数据类型开始,有64位的long、long int、long long int,我们可以存储的最大正数是9223372036854775807(十六进制7FFFFFFFFFFFFFFF)。

考虑十六进制数 7; 接下来,我们将有 8,即二进制 1000,这意味着符号位打开。 最后,我们有从 -1 到 -9223372036854775808 的负整数。9223372036854775807 是一个足够大的数字,足以处理许多存储加算术运算的要求。

128 位整数及其在 C++ 中的替代方案的重要性

现在,如果您需要更大的整数,问题是,我们要对这些整数执行算术运算吗? 如果答案是肯定的,您可能需要比 128 位更多的存储空间。

两个大整数相加或相乘的结果可能需要更多位。 因此,在这种情况下,实现大整数可能会对您有所帮助。

最后,如果您只需要一个 128 位整数用于存储,一种解决方案是创建两个 64 位整数的结构,或者您可以采用 8 个元素的 int 数组或 16 个元素的 char 数组。

然而,GCC 确实为 128 位整数提供了一种特定的数据类型,即 int128_t; 在支持的编译器上,您可以检查大小:

int128_t var;
cout << sizeof(var) << '\n';

输出将为 16,这意味着 16x8=128 位。

然而,它支持特定的处理器,能够容纳 128 位; 否则,当您尝试存储大整数时,编译器会生成以下警告之一:

 warning: overflow in implicit constant conversion
 warning: integer constant is too large for its type

讨论的结论是精确决定在最坏情况下需要多少位。

此外,您只想存储数据,还是想执行算术运算? 那么,如果您想执行算术运算,大整数实现就是您的解决方案。

对于大整数实现,您甚至不必担心 500 或 5000 位。

如果您只想进行存储,则可以使用其他解决方案。 使用两个 64 位数据成员的结构,或使用 int 数据类型或 char 数据类型的数组。

上一篇:C++ 井字棋游戏

下一篇:C++ 中的大整数

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Arduino 中停止循环

发布时间:2024/03/13 浏览次数:444 分类:C++

可以使用 exit(0),无限循环和 Sleep_n0m1 库在 Arduino 中停止循环。

Arduino 复位

发布时间:2024/03/13 浏览次数:315 分类:C++

可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。

Arduino 的字符转换为整型

发布时间:2024/03/13 浏览次数:181 分类:C++

可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。

Arduino 串口打印多个变量

发布时间:2024/03/13 浏览次数:381 分类:C++

可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。

Arduino if 语句

发布时间:2024/03/13 浏览次数:123 分类:C++

可以使用 if 语句检查 Arduino 中的不同条件。

Arduino ICSP

发布时间:2024/03/13 浏览次数:214 分类:C++

ICSP 引脚用于两个 Arduino 之间的通信以及对 Arduino 引导加载程序进行编程。

使用 C++ 编程 Arduino

发布时间:2024/03/13 浏览次数:127 分类:C++

本教程将讨论使用 Arduino IDE 在 C++ 中对 Arduino 进行编程。

Arduino 中的子程序

发布时间:2024/03/13 浏览次数:168 分类:C++

可以通过在 Arduino 中声明函数来处理子程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便