Java int零前缀?

问题描述:

可能重复:
Integer with leading zeroesJava int零前缀?

嗨。

Java如何处理前缀为零的字节,整数,短裤和长整数,例如

// Prints 8. 
System.out.println(010); 

// Prints 64. 
System.out.println(0100); 

所以,8 ^(N-1),我想。但为什么?

解释赞赏!

编辑: 所以这就是它的工作原理。但是,没有人知道为什么,看来,另一个话题是死的。 :)

+0

我们很多人都想知道*为什么* Java向C借了这个。我不认为我们会得到满意的答案。 :-) – Ken 2010-12-11 02:01:59

+1

请参阅[八进制数字文字:何时?为什么? (http://stackoverflow.com/questions/44569/octal-number-literals-when-why-ever)讨论这个问题背后的原因。 – 2010-12-11 02:34:43

+0

*前缀0表示八进制,而0x表示十六进制*十六进制值通常以前缀0x;我一直都在看,但为什么八进制数字前缀为0? – whirlwin 2010-12-11 02:04:34

零前缀被解释为一个八进制数。

十进制中的10是十进制的8;十进制中的100是十进制的64。