INT_MIN、INT8_MIN、INT16_MIN 之间的区别。也适合 MAX

问题描述 投票:0回答:1

在 VScode 中,我使用了 INT_MIN/INT_MAX,但今天我收到了一个错误,说“Unidentified Classifier”。相反,它建议我使用 INT8_MIN。 使用这个后,效果非常好。 但是,它们之间的核心区别是什么..??

我使用的是 INT_MIN/INT_MAX,但是今天我收到了一个错误,说“Unidentified Classifier”。相反,它建议我使用 INT8_MIN。 使用后效果非常好。

c++ c++11 visual-c++
1个回答
0
投票

您的代码现在可能可以编译,但它不会按您的预期工作。

INT_MIN
/
INT_MAX
int
的最小/最大值。
它通常是 32 位,因此您之前使用的值可能分别是 –21474836482147483647(对于 64 位整数,它们可能更大)。

另一方面,

INT8_MIN
/
INT8_MAX
8位有符号整数(又名
int8_t
)的最小/最大值,分别是-128127

为了获得之前的行为,您应该使用

std::numeric_limits<int>::min()
std::numeric_limits<int>::max()
,来自 标题

© www.soinside.com 2019 - 2024. All rights reserved.