为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在Java中08不是一个有效的整数文字?

为什么在Java中08不是一个有效的整数文字?

为什么在Java中08不是一个有效的整数文字?为什么08被认为是超出范围的整数,但是07下面不是吗?
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

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

用于单数数字(不包括0809,结果是相同的,因此您可能不会注意到它们被解释为八进制。但是,如果您用一个以上的有效数字来编写数字,您可能会对结果感到困惑。

例如:

010 ==  8024 == 20

由于八进制文字通常不是您想要的,所以您应该始终注意不要以整数文字开头。0当然,除非你真的试图自己写零。


查看完整回答
反对 回复 2019-07-05
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

任何以0为前缀的数字都被认为是八进制。八进制数字只能使用数字0-7,就像小数点可以使用0-9,二进制可以使用0-1.


// octal to decimal

01  // 1

02  // 2

07  // 7

010 // 8

020 // 16


// octal to binary (excluding most significant bit)

01  // 1 

02  // 10

07  // 111

010 // 1000 

020 // 10000

有10种类型的人,懂三元的人,不懂的人,认为这是一个愚蠢的笑话的人。


查看完整回答
反对 回复 2019-07-05
?
GCT1015

TA贡献1827条经验 获得超4个赞

Java规范:

八进制数字由ASCII数字0和一个或多个ASCII数字0到7组成,可以表示正整数、零整数或负整数。


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 855 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信