-5是整数字面值吗?

时间:2010-10-12 21:49:22

标签: c++ literals

-5是一个整数字面值吗?或者5是一个文字,-5是一个带有一元减号的表达式,以文字为参数?当我想知道如何硬编码最小的有符号整数值时出现了这个问题。

2 个答案:

答案 0 :(得分:9)

这是一个单一的减号,后跟5作为整数字面值。是的,这使得在二进制补码中表示最小可能整数有点困难。

答案 1 :(得分:3)

作为Jerry Coffin said,减号不是文字的一部分。至于如何解决你的终极问题,

  

我想知道如何硬编码最小的有符号整数值

这就是INT_MIN(以及limits.hstdint.h或其他地方)的内容。

如果你看一下如何定义INT_MIN,它可能看起来像(-2147483647 - 1),以解决问题引发的问题。