Conversão

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:

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…