Duvida sobre inteiros começados com 0 [RESOLVIDO]

2 respostas
mauricioadl

Alguem sabe me explicar porque essa expressão imprime 15?

int a = 017; System.out.println(a);

Obrigado!

2 Respostas

fbl.lucas

017 corresponde ao número 15 na base octal.
Se você utilizar o método a seguir o resultado vai ser 17.

System.out.println(Integer.toOctalString(a));

De acordo com a especificação
sinal + DecimalNumeral
sinal + 0x + HexDigits
sinal + 0X + HexDigits
sinal + # + HexDigits
sinal + 0 + OctalDigits

mauricioadl

Entendi!

vlw!

Criado 28 de dezembro de 2011
Ultima resposta 28 de dez. de 2011
Respostas 2
Participantes 2