Com dois bits, tem-se 4 estados, ou seja, 22 = 4 Com trs bits, tem-se 8 estados, ou seja, 23 = 8
Qde Bits Qde Bits
0 0 0 0 0
0 1 0 0 1
Estados possveis
1 0 0 1 0
1 1 0 1 1
Estados possveis
1 0 0
1 0 1
1 1 0
1 1 1
N
Ou seja, sendo N a quantidade de bits utilizados, tem-se 2 (Base 2) estados possveis:
Qde de bits Estados possveis
1 21 = 2 Ao observar os estados possveis, percebe-se que eles no so
2 22 =4 compatveis com a base decimal, com a qual estamos habituados a
lidar. Ou seja, no sistema decimal, seus 10 algarismos possibilitam
3 23 = 8 representar ou 10, ou 100, ou 1000 ..... estados diferentes.
4 24 = 16 Dessa forma, h a necessidade de representar a mesma quantidade
5 25 = 32 de estados da tabela ao lado em outras bases que no a binria.
6 26 = 64 Tipicamente, em computao, alm da base 2, utilizam-se as
bases 8 (octal) e 16 (hexadecimal).
7 27 = 128
8 28 = 256
9 29 = 512
10 210 = 1024
2 binria 2 01
8 octal 8 01234567
16 - hexadecimal 16 0123456789ABCDEF
Conforme o diagrama abaixo, pode-se perceber que tanto a base 8 quanto a 16 preservam o nmero de
estados da informao em log2.
Base 16
Base 8
Base 2
0 0 0 0 0 0 0
Valor binrio: 2 estados representado
0 0 0 1 1 1 1 por 1 bit ( log22 = 1).
Valor octal: 8 estados representador
0 0 1 0 2 2 por 3 bits (log28 = 3).
0 0 1 1 3 3 Valor hexadecimal: 16 estados
representados por 4 bits (log216=4).
0 1 0 0 4 4
0 1 0 1 5 5
0 1 1 0 6 6
0 1 1 1 7 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 A
1 0 1 1 B
1 1 0 0 C
1 1 0 1 D
1 1 1 0 E
1 1 1 1 F
Base 10
1 0 0 0 8
1 0 0 1 9
10 0 1 8 x 100 8
10 1 10 9 x 101 90
Assim, sendo um nmero N na Base 10 (N10), cada posio (unidade, dezena, centena, etc) ser representada
por um algarismo A multiplicado pela base elevada a potncia de nmeros de algarismos -1:
N10 = A x 10 NumAlgarismo -1 + .... + A x 103 + A x 102 + A x 101 + A x 100 + A x 10-1 + A x 10-2 ....
r Q10 2
r Q10 < 2
O valor na Base 2 ser lido do quociente (bit mais
significativo) e, na ordem, os demais valores de
resto at o primeiro valor (bit menos significativo)
1 65 2
1 32 2
0 16 2
0 8 2
0 4 2
0 2 2
0 1
13110 = 100000112
N10 = N2 x 2 (b- 1) + ... +N2 x 21 + N2 x 20 Toma-se a quantidade de bits (b) e multiplica o bit
menos significativo por 20, o segundo bit por 21, at o
bit mais significativo por 2 (b -1)
1 0 0 0 0 0 1 1
1 x 27 + 0 x 26 + 0 x 25 + 0 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20
1 x 128 + 0 x 64 + 0 x 32 + 0 x 16 + 0x8 + 0x4 + 1x2 + 1x1
128 + 2 + 1 = 131
Monte uma tabela com as potncias de 2 (o valor da potncia depende do valor que se deseja
converter);
Preencha cada posio com as potncias da base 2 do bit menos significativo para o mais significativo;
29 28 27 26 25 24 23 22 21 20
1 1 21 - 1
2 3 22 - 1
3 7 23 - 1
4 15 24 - 1
5 31 25 - 1
6 63 26 - 1
7 127 27 - 1
8 255 28 - 1
9 511 29 - 1
10 1023 210 - 1
26 25 24 23 22 21 20
64 32 16 8 4 2 1
- Verifica-se se 113 maior ou igual ao maior valor de tabela. Se for, marque o bit igual a um na
posio testada e subtraia de 113 o respectivo valor decimal. Repita essa operao at o bit menos
significativo.
- No caso, 113 maior que 64, ento, marque o bit igual a 1 e subtraia 64 de 113:
2 2 2 2 2 2 2
6 5 4 3 2 1 0
64 32 16 8 4 2 1
1 Se 113 >= 64; Ento faa 113 64 = 49 e marque bit = 1.
11310 = 11100012
2 binria 2 01
8 octal 8 01234567
16 - hexadecimal 16 0123456789ABCDEF
N10 8
r Q10 8
r Q10 < 8
O valor na Base 8 ser lido do quociente (mais
significativo) e, na ordem, os demais valores de
resto at o primeiro valor do resto (menos
significativo)
3 16 8 13110 = 2038
0 2
2 6 7 2
2 x 83 + 6 x 82 + 7 x 81 + 2 x 80
2 x 512 + 6 x 64 + 7x8 + 2x1 1024 + 384 + 56 + 2 = 146610
BCC Arquitetura de Computadores I 7
3.1.3 Mtodo prtico para converso entre N10/N8 e N8/ N10
a) Decimal/Octal
579310 =
84 83 82 81 80
1 3 2 4 1 Base 8
b) Octal/Decimal
177568=
84 83 82 81 80
1 7 7 5 6 Base 8
N10 16
r Q10 16
r Q10 < 16
O valor na Base 16 ser lido do quociente (mais
significativo) e, na ordem, os demais valores de
resto at o primeiro valor do resto (menos
significativo).
Ateno: 10=A; 11 = B; 12=C ; 13=D ; 14=E e 15=F.
7 58 16 93510 = 3A716
10 3
N10 = N16 x 16 (h 1) + ... +N16 x 161 + N16 x 160 Toma-se a quantidade de dgitos hexadecimais e
multiplica o dgito menos significativo por 160, o
segundo dgito hexadecimal por 161, at o digito
hexadecimal mais significativo por 16 (h -1).
Exemplo: Converter BABA16 para Base 10:
Mais Menos
significativo significativo
B A B A
a) Decimal/Hexa: ( A= 10 ; B = 11 ; C = 12 ; D = 13 ; E = 14 ; F = 15)
5035710 =
b) Hexa/Decimal: ( A= 10 ; B = 11 ; C = 12 ; D = 13 ; E = 14 ; F = 15)
DADA16 =
0 D A D A Base 16
DADA16 = 5602610
a) Binrio/Octal :
Forme grupos de 3 bits (partindo da direita para esquerda) e faa as converses para octal.
Ex: 1110101101
|001|110|101|101
1 6 5 5 => 11101011012 = 16558
b) Binrio/Hexa:
Forme grupo de 4 bits (da direita para esquerda) e faa as converses para hexa.
Ex: 1110101101
|0011|1010|1101
3 A D => 11101011012 = 3AD16
45AEF16 = 10553578
| 4 | 5 | A | E | F |
|0100|0101| 1010| 1110 | 1111| => 01000101101011101111 2 => |001|000|101|101|011|101|111
1 0 5 5 3 5 7 => 1055357 8