Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema com variável int.

Pessoal, alguém poderia me explicar o motivo do meu código retornar 203?

public class TestaInt {
    public static void main(String[] args) {
        int num = 0313;

        System.out.println(num);
    }
}
2 respostas
solução!

Olá Leandro tudo bem?

Vamos lá, neste caso você está usando um 0 (zero) na frente do seu número 313 (0313), o que está mudando sua base para octal (base 8) por isso seu retorno está sendo 203 que é o resultado em decimal da conversão feita.

Cálculo conversão octal para decimal = 3×8²+1×8¹+3×8⁰ = 203

Atenciosamente,

Entendi, só o fato de eu ter entrado o número com um 0 na frente, ele entende que eu estou entrando com outra base que não decimal?

Outra pergunta...

Quando vou acessar minha conta no banco, tanto faz entrar com 3313 ou 0003313... Se a linguagem por trás fosse java, teria então um método de conversão para int?