Visual Studio C或C++中的最大值

Largest value in Visual Studio C or C++

本文关键字:最大值 C++ Studio Visual      更新时间:2023-10-16

在Microsoft Visual Studio 2017社区版中,有以下文件:

"C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\SDK\ScopeCppSDK\SDK\include\shared\intsafe.h">

它具有以下值作为16字节整数的最大值:

#define UINT128_MAX 0xffffffffffffffffffffffffffffffffui128

我还在限制文件中发现了以下代码

"C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\SDK\ScopeCppSDK\VC\include\limits.h">

#if _INTEGRAL_MAX_BITS >= 128
// minimum signed 128 bit value
#define _I128_MIN   (-170141183460469231731687303715884105727i128 - 1)
// maximum signed 128 bit value
#define _I128_MAX     170141183460469231731687303715884105727i128
// maximum unsigned 128 bit value
#define _UI128_MAX    0xffffffffffffffffffffffffffffffffui128
#endif

此项显示为灰色,就好像未定义_INTEGRAL_MAX_BITS >= 128一样。

我在任何地方都找不到128位整数的数据类型。MS C或C++能处理这么大的值吗?我有一台新电脑,它应该能够处理这么大整数的数学运算。TIA。

128位整数没有像64位及以下大小的整数那样工作的数据类型。如果你想要它们,你必须自己实施。使用GMP或boost::多精度始终是一种选择。