A conversão de números entre os formatos de base 2, 8 e 16 pode ser feita por inspeção visual, sem necessidade de cálculos, uma vez que as três bases de numeração são potências de 2: 8=23 e 16=24. Por isso, agrupando 3 bits é possível convertê-los para um número octal, e agrupando 4 bits, estes podem ser convertidos num símbolo hexadecimal.
De seguida apresenta-se a justificação analítica para esta afirmação.
Conversão entre base 2 e 8
Considere-se o número binário seguinte:
a3n+2a3n+1a3n…a5a4a3a2a1a0(2)
Aplicando o processo de conversão de base 2 para base 10 visto anteriormente, obtém-se a representação decimal deste número:
a3n+223n+2 + a3n+123n+1 + a3n 23n… + a525 + a424 + a323 + a222 + a121 + a020
Juntar em grupos de 3 parcelas, a começar pela direita:
(a3n+223n+2 + a3n+123n+1 + a3n 23n)… + (a525 + a424 + a323) + (a222 + a121 + a020)
Em cada grupo, fatorizar potências de 2:
(a3n+222 + a3n+121 + a3n 20).23n… + (a522 + a421 + a320).23 + (a222 + a121 + a020).20
Passar potências de 2 fatorizadas a potências de 8:
(a3n+222 + a3n+121 + a3n 20).8n… + (a522 + a421 + a320).81 + (a222 + a121 + a020).80
Somar as parcelas dentro de parêntesis:
xn8n… + x181 + x080
em que xi é um número de 0 a 7, segundo a tabela:
base 8 | base 2 |
---|---|
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
Converter de base 2 para base 8: 11011010110(2)
011 | 011 | 010 | 110 |
3 | 3 | 2 | 6 |
Para converter de base 2 para base 16, usar a tabela:
base 16 | base 2 |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
A | 1010 |
B | 1011 |
C | 1100 |
D | 1101 |
E | 1110 |
F | 1111 |
Converter de base 2 para base 16: 11011010110(2)
0110 | 1101 | 0110 |
6 | D | 6 |
11011010110(2) = 6D6(16)
Converter de base 16 para base 8: AB9C3(16)
Passar primeiro para base 2:
A | B | 9 | C | 3 |
1010 | 1011 | 1001 | 1100 | 0011 |
AB9C3(16) = 10101011100111000011(2)
Converter de base 2 para base 8:
101 | 101 | 011 | 100 | 111 | 000 | 011 |
2 | 5 | 3 | 4 | 7 | 0 | 3 |
AB9C3(16) = 2534703(8)