为什么`08`认为`int`超出范围,`07`而低于int ?

为什么08认为int超出范围,07而低于int ?

回答:

在Java和其他几种语言中,以开头的整数文字0被解释为八进制(基数8)的数量。

对于单位数(比其他0809,这是不允许的),结果是一样的,所以你可能没有意识到他们被解释为八进制。但是,如果你写的数字的有效位数不止一个,那么结果可能会让你感到困惑。

例如:

010 ==  8

024 == 20

由于八进制文字通常不是你想要的,因此请务必小心,切勿以开头的整数文字0,除非你当然实际上是在尝试自己写零。

以上是 为什么`08`认为`int`超出范围,`07`而低于int ? 的全部内容, 来源链接: utcz.com/qa/417378.html

回到顶部