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

标签 c++ c visual-studio

在 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/

相关文章:

c - Visual Studio 2017 完全支持 C99 吗?

javascript - JSON 的智能感知帮助?

c++ - C 代码编译为 C++,但不是 C

c++ - 使用 MinGW : Error: 'atoi' is not a member of 'std' 编译 yaml-cpp 时出错

c - 从二叉树中删除所有小于/大于 C 中给定值的值?

c - 按任务同步 fork 的子进程

C 程序。指针和字符串

C++ 和 swift : Cannot invoke 'externalMethodName' with an argument list of '(Int)'

c# - 为什么文件不能通过 tcp 在 C# 中的客户端和 C 中的服务器之间正确传输(保存?)?

visual-studio - 我应该使用 Visual C++ 2010 Express 还是 Visual Studio 2010 Ultimate? - 来自 Visual C++ 2008