2010-12-11 7 views
0

Possible en double:
Integer with leading zeroesJava int zéro préfixe?

Salut.

Comment Java gère-t-il les octets, les entiers, les courts métrages et les longs préfixés par des zéros, par ex.

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

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

Ainsi, 8^(n-1), je suppose. Mais pourquoi?

Les explications sont appréciées!

EDIT: Voilà comment cela fonctionne. Cependant, personne ne sait pourquoi, semble-t-il, et l'autre sujet est mort. Gn gens. :)

+0

Beaucoup d'entre nous veulent savoir * pourquoi * Java a emprunté cela à C. Je ne pense pas que nous aurons jamais une réponse satisfaisante. :-) – Ken

+1

Voir [Littéraux numériques octaux: quand? Pourquoi? jamais?] (http://stackoverflow.com/questions/44569/octal-number-literals-when-why-ever) pour une discussion sur le * pourquoi * derrière cette question. –

Répondre

3

Un préfixe zéro est interprété comme un nombre octal.

10 en octal est 8 en décimal; 100 en octal est 64 en décimal.