Olá pesssoal , gostaria de saber se tem como converter um valor Hexadecimal para byte.
Por exemplo converti um número 10 inteiro para hexadecimal eu consegui usando o Integer.toHexString(10), então eu pegaria esse valor em hexa e converteria para binário.
Desde já agradeço.
vc pode passar direto de inteiro para binario
da mesma forma
Integer.toBinaryString(10);
![:wink: :wink:](https://www.guj.com.br/images/emoji/twitter/wink.png?v=9)
Tem o metodo toBinaryString(int i) de Integer que converte, porem de decimal para binario… nao conheço nenhum metodo que converta de hexadecimal para binario, entao fiz esse aí, acho q é isso mesmo…
public String hexToBin(String hex){
String bin = "";
String[] binarios = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
for(int i=0; i<hex.length(); i++){
char c = hex.charAt(i);
int num;
switch(c){
case 'a':
num = 10;
break;
case 'b':
num = 11;
break;
case 'c':
num = 12;
break;
case 'd':
num = 13;
break;
case 'e':
num = 14;
break;
case 'f':
num = 15;
break;
default:
num = Integer.valueOf(""+c);
}
bin+=binarios[num];
}
return bin;
}
se você converter de decimal para binario vai notar uma diferença entre os resultados, é porque ele desconsidera os zeros a esquerda, se quiser que fique igual retire os zeros à esquerda do array binarios…
String binarios = {"", “1”, “10”…}
Dê uma olhada aí e veja se serve…