Java int零前缀?
问题描述:
嗨。
Java如何处理前缀为零的字节,整数,短裤和长整数,例如
// Prints 8.
System.out.println(010);
// Prints 64.
System.out.println(0100);
所以,8 ^(N-1),我想。但为什么?
解释赞赏!
编辑: 所以这就是它的工作原理。但是,没有人知道为什么,看来,另一个话题是死的。 :)
答
零前缀被解释为一个八进制数。
十进制中的10是十进制的8;十进制中的100是十进制的64。
我们很多人都想知道*为什么* Java向C借了这个。我不认为我们会得到满意的答案。 :-) – Ken 2010-12-11 02:01:59
请参阅[八进制数字文字:何时?为什么? (http://stackoverflow.com/questions/44569/octal-number-literals-when-why-ever)讨论这个问题背后的原因。 – 2010-12-11 02:34:43