Bom, se você quer fazer matemática… somar por exemplo, tem que converter a String para a forma numerica.
Por exemplo usando Long.parseLong(String str, int base) e usando a base 16.
Dái, dá pra adicionar, substrair normalmente. E quando tem o resultado pronto, é só converter para String de novo, usando, por exemplo Long.toHexString(long).
Para valores fixos em hexa, no código, basta usar o formato 0xnúmeroemhexa, por exemplo no case de A0 :arrow: 0xA0
beleza deu pra entender perfeitamente, mas só uma coisa: é necessário esse 0x na frente do a0? E por que?
Obrigado!
S
Sami_Koivu
É necessario, sim. 0x é para identificar ao compilador java que a0 é um valor hexa. Quer dizer, é necessario nos casos onde você especifica um valor no código java. Se fosse uma String “A0” não é necessario usar 0x.
Ok, no caso de a0 é obvio que é hexa(porém o compilador aínda quer que você use o 0x), mas imagine ter um valor hexa que também poderia ser decimal… por exemplo 0x10
Veja o exemplo:
inti;i=10;// decimal 10System.out.println("decimal: "+i);System.out.println("hex: "+Integer.toHexString(i));i=0x10;// hexa 10.. valor em decimal eh 16System.out.println("decimal: "+i);System.out.println("hex: "+Integer.toHexString(i));