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);
}
}
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?