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);
}
}
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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);
}
}
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?