Dado um número N, binário, para
expressá-lo em decimal, deve-se escrever cada número que o compõe (bit), multiplicado pela
base do sistema (base = 2), elevado à posição que ocupa. Exemplo:
1001(binário)
1 × 23 + 0 × 22
+ 0 × 21 + 1 × 20 = 9
Portanto, 1001 é 9 em decimal s
Dado um número decimal, para
convertê-lo em binário, basta dividi-lo sucessivamente por 2, anotando o resto da divisão inteira:
12(decimal)
12 / 2 = 6 + 0
6 / 2 = 3 + 0
3 / 2 = 1 + 1
1 / 2 = 0 + 1
Observe que é basta que os
números sejam lidos de baixo pra cima, ou seja: 1100 é 12 em binário
Considere alguns resultados da
potência 2^x e exponha-os em tabela por ordem decrescente:
2048 |
1024 |
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Deste modo é possível converter
grandes quantidades de números decimais para binários:
Numero decimal |
2048 |
1024 |
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Resultado Binario |
354 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
101100010 |
1634 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
11001100010 |
104 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1101000 |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
10 |
38 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
100110 |
57 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
111001 |
O procedimento é igual a qualquer
caso. Vamos acompanhar de perto o caso do 1634 por exemplo: O procedimento se
inicia do extremo esquerdo, e consiste na verificação de uma possível subtração
não-negativa.
2048>1634. Logo fica
"0" ( por exemplo 1634-2048 resultava num número negativo. Logo
atribuí-se o "0" )
1024<1634. Logo fica
"1"
1634-1024=610
512<610. Logo fica
"1"
610-512=98
256>98. Logo fica
"0"
128>98. Logo fica
"0"
64<98. Logo fica "1"
98-64=34
32<34. Logo fica "1"
34-32=2
16>2. Logo fica "0"
8>2. Logo fica "0"
4>2. Logo fica "0"
2=2. Logo fica "1"
2-2=0
1>0. Logo fica "0"
"1" significa verdadeiro e "0" os que não interessam ou que
dão números negativos. Este método, quando feito de cabeça, permite uma
velocidade incrível na conversão. Bem como na facilidade para converter muitos
números devido à sua estructura em tabela.
Reparare que existem
"0" à esquerda do primeiro "1" que são ignorados? Eles são
ignorados porque qualquer "0" à esquerda do primeiro "1" da
sequencia, não vale nada, portanto omite-se.
Recordando as seguintes somas
básicas:
Assim, ao se somar 100110101 com
11010101, tem-se:
100110101
11010101
-----------
1000001010
Opera-se como em decimal:
começa-se a somar desde a esquerda, no exemplo, 1+1=10, então escreve-se 0 e
"leva-se" 1. Soma-se este 1 à coluna seguinte: 1+0+0=1, e segue-se
até terminar todas as colunas (exactamente como em decimal).
O produto de
números binários é especialmente simples, já que o 0 multiplicado por qualquer
coisa resulta 0, e o 1 é o elemento
neutro do produto.
Por exemplo, a multiplicação de
10110 por 1001:
10110
1001
---------
10110
00000
00000
10110
---------
11000110
O sistema hexadecimal é um
sistema de numeração vinculado à informática, já que os computadores
interpretam as linguagens de programação em bytes, que são compostos de
oito dígitos. À medida que os computadores e os programas aumentam a sua
capacidade de processamento, funcionam com múltiplos de oito, como 16 ou 32.
Por este motivo, o sistema hexadecimal, de 16 dígitos, é um standard na
informática.
Como o nosso sistema de numeração
só dispõe de dez dígitos, devemos incluir
seis letras para completar o sistema.
Estas letras e o seu valor em
decimal são: A = 10, B = 11, C = 12, D = 13, E = 14 e F = 15.
O sistema hexadecimal é posicional e por ele o valor numérico associado
a cada signo depende da sua posição no número, e é proporcional as diferentes
potencias da base do sistema que neste caso é 16.
Vejamos um exemplo numérico:
3E0,A (16) = 3×162 + E×161 + 0×160 + A×16-1
= 3×256 + 14×16 + 0×1 + 10×0,0625 = 992,625
A utilização do sistema
hexadecimal nos computadores, deve-se a que um dígito hexadecimal
representa quatro dígitos binários (4 bits = 1 nibble), por tanto dois dígitos hexadecimais representam oito
dígitos binários (8 bits
= 1 byte) que como é
sabido é a unidade básica de armazenamento de informação.
Decimal |
Binario |
Hexadecimal |
0 |
0000 |
0 |
1 |
0001 |
1 |
2 |
0010 |
2 |
3 |
0011 |
3 |
4 |
0100 |
4 |
5 |
0101 |
5 |
6 |
0110 |
6 |
7 |
0111 |
7 |
8 |
1000 |
8 |
9 |
1001 |
9 |
10 |
1010 |
A |
11 |
1011 |
B |
12 |
1100 |
C |
13 |
1101 |
D |
14 |
1110 |
E |
15 |
1111 |
F |