我读到默认情况下十进制文字是带符号的。
为简单起见,假设int
可以容纳的值是整数[-128,127],而long
可以容纳整数的值128。现在,如果我编写文字-128,会发生什么?我知道的是这里的字面量只是'128',它不能放入int
中,而是会放入long
中!或一元减号运算符还会做其他事情吗?
那么,一元减号如何与整数文字一起使用?
一元减号运算符如何在C ++中与整数文字一起使用?
•
问答
lichenguse 回答:一元减号运算符如何在C ++中与整数文字一起使用?
整数文字的类型是该值适合的第一种类型,这取决于使用哪个数字基数和使用哪个整数后缀的类型列表。
如示例所示,使用十进制基数且不带后缀时,可能的类型为int
,long int
和long long int
。如果该值(忽略减号)适合long
但不适合int
,则该值的类型为long
。
确定类型后,一元减号运算符将正常应用。将一元减应用于long
会产生long
(即使结果可能适合int
)。