嗨。
Java如何处理前缀为零的字节,整数,短裤和长整数,例如
// Prints 8.
System.out.println(010);
// Prints 64.
System.out.println(0100);
所以,8 ^(N-1),我想。但为什么?
解释赞赏!
编辑: 所以这就是它的工作原理。但是,没有人知道为什么,看来,另一个话题是死的。 :)
嗨。
Java如何处理前缀为零的字节,整数,短裤和长整数,例如
// Prints 8.
System.out.println(010);
// Prints 64.
System.out.println(0100);
所以,8 ^(N-1),我想。但为什么?
解释赞赏!
编辑: 所以这就是它的工作原理。但是,没有人知道为什么,看来,另一个话题是死的。 :)
*前缀0表示八进制,而0x表示十六进制*十六进制值通常以前缀0x;我一直都在看,但为什么八进制数字前缀为0? – whirlwin 2010-12-11 02:04:34
零前缀被解释为一个八进制数。
十进制中的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