-5
是一个整数字面值吗?或者5
是一个文字,-5
是一个带有一元减号的表达式,以文字为参数?当我想知道如何硬编码最小的有符号整数值时出现了这个问题。
答案 0 :(得分:9)
这是一个单一的减号,后跟5作为整数字面值。是的,这使得在二进制补码中表示最小可能整数有点困难。
答案 1 :(得分:3)
作为Jerry Coffin said,减号不是文字的一部分。至于如何解决你的终极问题,
我想知道如何硬编码最小的有符号整数值
这就是INT_MIN
(以及limits.h
或stdint.h
或其他地方)的内容。
如果你看一下如何定义INT_MIN
,它可能看起来像(-2147483647 - 1)
,以解决问题引发的问题。