Como visto anteriormente, quando precisamos converter entre sistemas (como o octal e hexadecimal), usamos o decimal como intermediário para conversões.
Vamos ver um exemplo, onde jogaremos o número 27 em octal para o binário:
27:
2 = 2 × 81 = 2 × 8 = 16
7 = 7 × 80 = 7 × 1 = 7
16 + 7 = 23
No caso acima o 27 na base 8 retornou 23 na base 10, e para converter o decimal em binário:
Primeira casa:
23 | 2
1 11
Segunda casa:
11 | 2
1 5
Terceira casa:
5 | 2
1 2
Quarta casa:
2 | 2
0 1
Quinta casa:
1 | 2
1 0
E escrevendo de trás pra frente, o 27 em octal é 10111 em binário.
Mas temos um macete muito mais fácil para converter octal em binário. Isso ocorre porque a cada três dígitos do binário representa um dígito do octal (7 em octal é 111 em binário), já que 2 (base binária) elevado a 3 é 8 (base octal).
Sabendo isso, podemos dividir um número octal em três dígitos, veja um exemplo com o mesmo 27 em octal:
2 = _ _ _
7 = _ _ _
E cada uma dessas casas, colocamos as potências, igual quando convertemos decimal em binário.
4 | 2 | 1 |
---|
No caso, basta fazer a soma e onde tiver os números somados, coloque 1, e onde não tiver coloque 0, assim:
2 = 010
7 = 111
Aí é só juntar tudo e veremos que 27 em octal é 10111 (o zero a esquerda pode ser descartado no binário e em outros sistemas numéricos).
E para converter binário para octal, seguimos a mesma lógica da potencia de 23. Dividimos o binário em pequenos grupos de três.
Veja a conversão de 1000101 em binário para octal:
001 000 101
PS: Caso não seja possível completar o grupo com três, complete com zeros à esquerda.
Seguindo a mesma lógica, vamos usar os resultados das potências (4, 2, 1) e somar tudo que tiver abaixo de um, ou seja:
001 000 101 - Binário puro
001 000 401 - Cada dígito das potências
1 0 5 - Octais retornados.
Dessa forma, 1000101 na base 2 é o mesmo que 105 na base octal.
PS: Lembre-se que zeros no meio são representados.
Agora vamos ver um exemplo, onde jogaremos o número 1B em hexadecimal para o binário:
1B:
B = 11
1 = 1 × 161 = 1 × 16 = 16
B = 11 × 160 = 11 × 1 = 11
16 + 11 = 27
No caso acima o 1B na base 16 retornou 27 na base 10, e para converter o decimal em binário:
Primeira casa:
27 | 2
1 13
Segunda casa:
13 | 2
1 6
Terceira casa:
6 | 2
0 3
Quarta casa:
3 | 2
1 1
Quinta casa:
1 | 2
1 0
E escrevendo de trás pra frente, o 1B em hexadecimal é 11011 em binário.
Da mesma forma, temos um macete muito mais fácil para converter hexadecimal em binário. Isso ocorre porque a cada quatro dígitos do binário representa um dígito do octal (F em hexadecimal é 1111 em binário), já que 2 (base binária) elevado a 4 é 16 (base hexadecimal).
Sabendo isso, podemos dividir um número hexadecimal em quatro dígitos, veja um exemplo com o mesmo 1B em hexadecimal:
B = 11
1 = _ _ _ _
11 = _ _ _ _
E cada uma dessas casas, colocamos as potências, igual quando convertemos decimal em binário.
8 | 4 | 2 | 1 |
---|
No caso, basta fazer a soma e onde tiver os números somados, coloque 1, e onde não tiver coloque 0, assim:
B = 11
1 = 0001
11 = 1011
Aí é só juntar tudo e veremos que 1B em hexadecimal é 11011 (o zero a esquerda pode ser descartado no binário e em outros sistemas numéricos).
E para converter binário para hexadecimal, seguimos a mesma lógica da potencia de 24. Dividimos o binário em pequenos grupos de quatro.
Veja a conversão de 1011101 em binário para hexadecimal:
0101 1101
PS: Caso não seja possível completar o grupo com quatro, complete com zeros à esquerda.
Seguindo a mesma lógica, vamos usar os resultados das potências (8, 4, 2, 1) e somar tudo que tiver abaixo de um, ou seja:
0101 1101 - Binário puro
0401 8401 - Cada dígito das potências
5 13(D) - Hexadecimais retornados.
Dessa forma, 1011101 na base 2 é o mesmo que 5D na base hexadecimal.
PS: Lembre-se que zeros no meio também são representados, e se o resultado for entre 10 e 15, deverá ser substituído pelos caracteres entre A e F.
A aritmética de números nas bases 2, 8 e 16 funciona da mesma maneira que na base 10, obedecendo as opções de números.
Veja dois exemplos em binário:
1011
+101
10000
Só lembrando que 1 + 1 é igual a 10, e 10 + 1 é igual a 11.
Pra subtrair a mesma regra:
1010
-111
11
Nesse caso, precisamos lembrar que 10 - 1 é igual à 1, e 11 - 1 é igual à 10. A regra de "emprestar" números quando foi subtrair 1 de 0 permanece.
No caso de octais a mesma coisa, por exemplo:
176
+43
241
Só precisamos lembrar que na soma, caso dê 8, converta para 10, 9 pra 11, 10 pra 12 e assim por diante.
Na subtração, a mesma coisa:
542
-35
505
Nesse caso, podemos converter os octais para decimal (no caso 12 vira 10) e fazer a subtração, e converter o resultado para octal. As regras de "emprestar" permanecem.
No caso de hexadecimal também, por exemplo:
4E3
+A5
588
Só precisamos lembrar que na soma, caso dê 10, converta para A, 11 para B, 12 para C e assim por diante.
Na subtração, a mesma coisa:
A13
-5E
9B5
Nesse caso, podemos converter os hexadecimais para decimal (no caso E vira 14) e fazer a subtração, e converter o resultado para hexadecimal. As regras de "emprestar" permanecem.
PS: Tanto na base octal quanto na hexadecimal, é interessante converter os algarismos em binário, octal ou hexadecimal para decimal, fazer a conta e reconverter para a base especificada.
Para facilitar os cálculos entre bases 2, 8, 10 e 16, é bom sabermos das tabuadas desses números. Veja abaixo elas:
Tabuada de 2:
2 × 1 = 2
2 × 2 = 4
2 × 3 = 6
2 × 4 = 8
2 × 5 = 10
2 × 6 = 12
2 × 7 = 14
2 × 8 = 16
2 × 9 = 18
2 × 10 = 20
Tabuada de 8:
8 × 1 = 8
8 × 2 = 16
8 × 3 = 24
8 × 4 = 32
8 × 5 = 40
8 × 6 = 48
8 × 7 = 56
8 × 8 = 64
8 × 9 = 72
8 × 10 = 80
Tabuada de 10:
10 × 1 = 10
10 × 2 = 20
10 × 3 = 30
10 × 4 = 40
10 × 5 = 50
10 × 6 = 60
10 × 7 = 70
10 × 8 = 80
10 × 9 = 90
10 × 10 = 100
Tabuada de 16:
16 × 1 = 16
16 × 2 = 32
16 × 3 = 48
16 × 4 = 64
16 × 5 = 80
16 × 6 = 96
16 × 7 = 112
16 × 8 = 128
16 × 9 = 144
16 × 10 = 160
PS: Na matemática, a tabuada é de 0 a 10, mas colocamos as multiplicações de 16 para facilitar ao conversões com os números hexadecimais.
Veja também as potências desses números.
Potências de 2:
Potência | Resultado |
---|---|
20 | 1 |
21 | 2 |
22 | 4 |
23 | 8 |
24 | 16 |
25 | 32 |
26 | 64 |
27 | 128 |
28 | 256 |
29 | 512 |
210 | 1024 |
211 | 2048 |
212 | 4096 |
213 | 8192 |
214 | 16384 |
215 | 32768 |
216 | 65536 |
217 | 131072 |
218 | 262144 |
219 | 524288 |
220 | 1048576 |
Potências de 8:
Potência | Resultado |
---|---|
80 | 1 |
81 | 8 |
82 | 64 |
83 | 512 |
84 | 4096 |
85 | 32768 |
86 | 262144 |
87 | 2097152 |
88 | 16777216 |
Potências de 10:
Potência | Resultado |
---|---|
100 | 1 |
101 | 10 |
102 | 100 |
103 | 1000 |
104 | 10000 |
105 | 100000 |
Potências de 16:
Potência | Resultado |
---|---|
160 | 1 |
161 | 16 |
162 | 256 |
163 | 4096 |
164 | 65536 |
165 | 1048576 |
166 | 16777216 |
167 | 268435456 |