为什么`08`认为`int`超出范围,`07`而低于int ?
为什么08
认为int
超出范围,07
而低于int ?
回答:
在Java和其他几种语言中,以开头的整数文字0被解释为八进制(基数8)的数量。
对于单位数(比其他08
和09
,这是不允许的),结果是一样的,所以你可能没有意识到他们被解释为八进制。但是,如果你写的数字的有效位数不止一个,那么结果可能会让你感到困惑。
例如:
010 == 8024 == 20
由于八进制文字通常不是你想要的,因此请务必小心,切勿以开头的整数文字0,除非你当然实际上是在尝试自己写零。
以上是 为什么`08`认为`int`超出范围,`07`而低于int ? 的全部内容, 来源链接: utcz.com/qa/417378.html