intmax_t max和min值是唯一的吗?

时间:2018-02-13 21:17:53

标签: c

对于大多数整数类型,最小值将比最大值大1英寸,对吧?

喜欢长期的范围是-9223372036854775808到9223372036854775807.当我运行我的程序时,为什么-9223372036854775808和9223372036854775808都给了我一个编译器警告并导致错误,而不是只有intmax_t max?

因为intmax_t min应该在-9223372036854775808有效,不是吗?

编辑:我也试过9223372036854775807和-9223372036854775807,他们都工作正常。

1 个答案:

答案 0 :(得分:6)

(允许我使用16位值作为较短的数字)

从技术上讲,当你在C中写!!时,你写了: “值32768的负值”

32,768对于正16位值来说太大了,即使-32,768有效。

这就是为什么你经常会看到像-32768这样的标头文件:

limits.h

这个问题基本上涵盖了相同的信息:

force unwrap