Questao facil

Mais uma facil, mas nao vale compilar…

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

Ate mais…

olha, acho pq mesmo o x recebendo AB… e o y recebendo ab…

eles recebem o mesmo valor, pois o java naum vai diferenciar.

Apenas acho, me corrijam se estiver errado
Letra --> b-)

Abraços

vo d A!!! :smiley:

Pq ratinho???

em java pode acontecer assim :

 int x=0X109ABCf;

???

Acredito que seja B, pelo fato que números hexadecimais não se diferenciam por terem letras maiúsculas ou minúsculas.

C ou c tem o mesmo valor, ou seja, os dois valem 12 em decimal.

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]

Não entendi.
:?: :?: :?: :?:

LETRA – > A

[quote=“Ratinho”]em java pode acontecer assim :

 int x=0X109ABCf;

???[/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

Java não diferencia letra maiuscula com minuscula em hexa, letra B

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

então no caso, podemos dizer que o que “avisa” ao java que é uma variavel irá receber um valor hexadecimal é o 0X ?

Acertou quem disse “b” o unico caso que java nao e case sensitive sao em numeros hexadecimais…

Valeu!!!

Exatamente, não só em Java mas como em PHP também.