为什么INT_FAST16_MAX被定义为INT32_MAX(VS 2015)?

时间:2017-10-26 22:04:46

标签: c++ c visual-c++

我从 visual studio 2015 打开“stdint.h”文件,如下图所示,我注意到INT_FAST16_MAX被定义为{{1 }}。和无符号一样。为什么会这样?

enter image description here

但最少的是按预期定义的。 (下同)

INT32_MAX

1 个答案:

答案 0 :(得分:6)

INT_FAST16_MAX是可以存储在int_fast16_t变量中的最大值。

int_fast16_t保证是最快的int,其大小至少 16位。

由于MSVC的目标是具有32位通用寄存器的机器,其访问速度比16位快,int_fast16_t实际上是32位整数。因此,INT_FAST16_MAXINT32_MAX

另见: