public class Hex{
public static void main(String args[]){
int x=0X109ABCf;
int y=0X109abcf;
if(x==y){
System.out.println("Portal Java");
}
else{
System.out.println("109ABCF na base dez é "+x);
}
}
}
a) Não compila
b) Portal java
c) 109ABCF na base dez é 174110223
Letra B
Quando se recebe os dois numeros em base decimal, os mesmos nao serão iguais independente das letras estarem maisculo ou minusculo.
Agora nunca fiz conversao em java, posso atribuir a um inteiro um valor com letra? nunca me atentei a essa curiosidade…
Estou levando em consideraçao que eu possa, mas caso puder, pq? como na hora da compilaçao isso é feito?
[quote=“diogoacl”]Letra B
Quando se recebe os dois numeros em base decimal, os mesmos nao serão iguais independente das letras estarem maisculo ou minusculo… [/quote]
Também tenho a mesma duvida do ratinho, como java trabalha com esta operação? x não é uma espaço na memória para inteiro? como então recebe letras no meio? o java faz a conversão antes de passar o valor?
Mas de todo caso se isso puder, pra mim imprime “Portal Java”, ou seja Letra B
Pelo que saiba, quando Java encontra 0x ele sabe que o número é hexadecimal e automaticamente converte o número para decimal.
int i = 2721; //(decimal) i é equivalente a 2721
int j = 05241//(octal) j é equivalente a 2721
int k = 0xAA1// (hexadecimal) m é equivalente a 2721
int l = 0xAa1// (hexadecimal) l é equivalente a 2721