gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:43 24 4
gpt4 key购买 nike

我从 visual studio 2015 打开了 "stdint.h" 文件,如下图所示,我注意到 INT_FAST16_MAX 被定义为INT32_MAX。和 unsigned 一样。为什么会这样?

enter image description here

但最少的定义符合预期。 (下)

#define INT_LEAST16_MAX  INT16_MAX
#define UINT_LEAST16_MAX UINT16_MAX

最佳答案

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

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

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

另见:

关于c++ - 为什么 INT_FAST16_MAX 被定义为 INT32_MAX (VS 2015)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46964543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com