【发布时间】:2015-03-16 18:26:57
【问题描述】:
我知道无符号整数只是正数(和 0),与普通整数相比,它的值可以翻倍。有没有区别
int variable = 12;
还有:
signed int variable = 12;
何时以及为什么应该使用签名关键字?
【问题讨论】:
-
几乎没有。这是暗示的。一种可能的例外是
signed char;标准没有指定普通的char是有符号还是无符号,所以如果出于某种原因你特别想要一个有符号的字符,你必须明确地说出来。 -
我用它来表明号码是明确签名的,更多的是对读者的提醒。
-
@IgorTandetnik 甚至,
char、signed char和unsigned char是三种不同的类型。对于所有其他整数类型,X和signed X是相同的。 -
如果你写
signed,那么你实际上可以放弃int。我不知道为什么要这样做,但它确实使signed的存在不是多余的。
标签: c++