在 Microsoft Visual Studio 2017 Community Edition 中,有以下文件:
“C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\SDK\ScopeCppSDK\SDK\include\shared\intsafe.h”
它具有以下 16 字节整数的最大值:
#define UINT128_MAX 0xffffffffffffffffffffffffffffffffffui128
我还在限制文件中发现了以下代码
“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::multi precision 始终是一种选择。
关于c++ - Visual Studio C 或 C++ 中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54059119/