Representação de números inteiros

2 respostas
B

https://www.dropbox.com/s/l3y738f37ln38zw/EXPLICA%20ESSA%20ATEUS.png

E aí galera, beleza?
Então, ontem tava testando algumas coisas em um método que eu tava fazendo, e comecei passar alguns parâmetros do tipo Integer para ele, mas em um determinado momento, eu passei 0103 e deu erro de parseException, pois não estava conseguindo converter 67 para data. Achei estranho, pois não estava passando nenhum 67, de nenhum lugar. Aí coloquei um System.out no número inteiro e ele me retornou 67. Alguém sabe o porque disso?
Se eu tirar 0 da frente, mostra 103, ou se eu alterar as duas últimas casas, mostra um número diferente também.
Isso é representação hexadecimal? Octal?

1x8^2 = 1 x 64 = 64
0x8^1 = 0 x 8 = 0
3x8^0 = 3 x 1 = 3

64+3 = 67.

Seria essa a representação do número? Alguém sabe me dizer o porque acontece isso?
Obrigado pela atenção.

2 Respostas

ErickRAR

Quando você coloca um 0 na frente, ele interpreta como se fosse octal (base 8 ), por isso dá essa diferença.
Você pode até testar usando 08. Irá dar erro, já que o sistema octal vai do 0 até 7.

B

ErickRAR:
Quando você coloca um 0 na frente, ele interpreta como se fosse octal (base 8 ), por isso dá essa diferença.
Você pode até testar usando 08. Irá dar erro, já que o sistema octal vai do 0 até 7.

Entendi. Obrigado pela ajuda, abraços!

Vi que tiraram o [Dúvida] do título, aí fui olhar o GUJNautas HOW TO, e vi bem bem descrito lá:
3. Evite marcadores que digam o óbvio como [Dúvida] ou [Ajuda], não use marcadores que tentem dar sentido de urgência como [Socorro], [Urgente] ou [Pleeease]. Não é educado pedir urgência no fórum.

HAHHAHAHAHAM foi mal.

Criado 28 de abril de 2014
Ultima resposta 29 de abr. de 2014
Respostas 2
Participantes 2