Sistema de Numeração Posicional
(sistema decimal → Radix = 10)
10 símbolos numéricos: 0,1,2,3,4,5,6,7,8,9 ex: 57.328 em decimal
total 57328 em decimal
8×100=00008
0
8
2×101=00020
1
2
3×102=00300
2
3
7×103=07000
3
7
5×104=50000
4
5
Numeral×RadixPosição
Sistema de Numeração Posicional
(Radix = 4)
4 símbolos numéricos: 0,1,2,3
ex:13302 em quaternário = 498 em decimal
2×40=002
0
2
0×41=000
1
0
3×42=048
2
3
3×43=192
3
3
1×44=256
4
1
Numeral×RadixPosição
Sistema de Numeração Posicional
(Radix = 2)
2 símbolos numéricos: 0,1
ex:10010 em binário = 18 em decimal
total 18 em decimal
0×20 = 0×01 = 00
0
0
1×21 = 1×02 = 02
1
1
0×22 = 0×04 = 00
2
0
0×23 = 0×08 = 00
3
0
1×24 = 1×16 = 16
4
1
Numeral×RadixPosição
Conversão Radix 10 para Radix N
1. Divida o número decimal por N e guarde o resto
2. O quociente da divisão anterior é dividido novamente por N e o resto guardado
3. Repita o passo 2 até que o quociente seja zero
4. O resto da primeira divisão produz o dígito
Exemplo: Conversão Radix 10 para Radix
4
498 em decimal = 13302 em quaternário
4 – mais significativo
1
1 ÷ 4 = 0
3
3
7 ÷ 4 = 1
2
3
31 ÷ 4 = 7
1
0
124 ÷ 4 = 31
0 – menos significativo
2
498 ÷ 4 = 124
Posição Resto
Exemplo: Conversão Radix 10 para Radix 2
47 em decimal = 111101 em binário
5 – mais significativo
1
1 ÷ 2 = 0
4
0
2 ÷ 2 = 1
3
1
5 ÷ 2 = 2
2
1
11 ÷ 2 = 5
1
1
23 ÷ 2 = 11
0 – menos significativo
1
47 ÷ 2 = 23
Posição Resto
Exemplo: Conversão Radix 10 para
Radix 2
47 em decimal = 111101b
1 0
1 1
1 1
Numeral
20 = 1
21 = 2
22 = 4
23 = 8
24 = 16
25 = 32
RadixPosição
0 1
2 3
4 5
Posição
MSB
Most Significant Bit
LSB
Sistema Hexadecimal
Radix 16
Fornece um número mais compacto do que utilizando a notação binária ou decimal
Sistema Hexadecimal
Radix 16
• Exemplo:
111110100b = 1F4h
4 hexa F hexa
1 hexa
4 F
1
0100 1111
0001
primeiro grupo de quatro bits
segundo grupo de quatro bits
terceiro grupo de quatro bits
Exemplo: Conversão decimal para hexadecimal
384.714 em decimal = 5DECA em hexa
5DECAh
4 - MSD 5 = 5
5 ÷ 16 = 0
3 13 = D
93 ÷ 16 = 5
2 14 = E
1.502 ÷ 16 = 93
1 12 = C
24.044 ÷ 16 = 1.502
0 – LSD 10 = A
384.714 ÷ 16 = 24.044
Posição Resto
Número Fracionário em Binário
Exemplo: 1101,1011b = 13,6875
2- 4
2- 3
2- 2
2- 1
, 20 21 22 23 2Posição
0,6875 = 13,6875
+
13
1 × 0,0625 = 0,0625
1 × 1 = 1
1 × 0,125 = 0,1250
0 × 2 = 0
0 × 0,25 = 0,0000
1 × 4 = 4
1 × 0,5 = 0,5000
1 × 8 = 8
Número Fracionário em Hexadecimal
Exemplo: 3E,4FCh = 62,3115234375
16- 3
16- 2
16- 1
,
160
161
2Posição
Total = 62,3115234375
0,3115234375 62
12 × 1/4096
14 × 1 = 14
+ 15 × 1/256
+ 3 × 16 = 48
4 × 1/16 Parte Fracionária Parte Inteira
1/4096 1/256
1/16
,
1 16
-3 -2
-1
,
0 1
Posição
C F
4
,
E 3
Adição Binária de 1 bit
0 1
1 0
+ 0
+ 0
+ 1
+ 1
0
0
1
0
0
0
1
1
carry
vai um
carry
vai um
carry
vai um
carry
Adição Binária de N bits
exemplo 8 bits
01011111b + 10111101b
256 + 28
Subtração Binária de 1 bit
0 1
1 0
- 0
- 0
- 1
- 1
0
0
1
0
0
1
1
0
borrow borrow
Subtração Binária de N bits
exemplo 8 bits
10111101b – 01011111b
0 + 94
1 2 4 8 16 32 64 128 256 2posição = 94 = 0 1 1 1 1 0 1 0 0 94 1 1 1 1 1 0 1 0 = 95 1 0 1 1 1 1 0 1 = 189 0 1 1 1 1 0 1 0 borrow
(maior – menor)
Subtração Binária de N bits
exemplo 8 bits
10111101b – 01011111b
0+94 1 2 4 8 16 32 64 128 256 2posição =+94 = 0 1 1 1 1 0 1 0 0
+ 94
1 1 1 1 1 0 1 0 = + 95
1 0 1 1 1 1 0 1 = + 189
0 1 1 1 1 0 1 0 borrow
Números Binários com Sinal
• Os números binários são naturalmente sem sinal
• Como então discernir se um determinado número binário é positivo ou negativo?
• Há duas formas de expressar números com sinal:
Representação em Sinal-Magnitude
• O bit mais significativo (MSB) é utilizado para indicar o sinal do número
• O restante dos bits é utilizado para representação direta em binário da magnitude do número
Representação em Sinal-Magnitude : -7 a +7
0000
0111
0011
1011
1111 1110
1101
1100
1010
1001
1000
0110 0101
0100 0010 0001
+0
+1
+2
+3
+4
+5
+6
+7 -0
-1 -2
-3 -4
-5
-6
-7
Números Complementares
• Usualmente os computadores e as calculadoras
não utilizam o sistema sinal-magnitude pois a implementação dos circuitos aritméticos é mais complexa
• Um sistema alternativo, chamado de
representação em números complementares permite implementações mais simples
• Números complementares permitem a realização de subtração através da operação de adição
• Sendo números finitos, os números
Adição de Números e Overflow
• A matemática complementar funciona
corretamente desde que o resultado da
adição
não exceda os limites
definidos na
criação do sistema
• Caso o resultado da adição
ultrapasse os
limites
estabelecidos ocorre uma condição
Adição e Overflow
• Overflow ocorre somente quando dois
números positivos ou dois números
negativos (complementares) são somados
• Adições envolvendo um número positivo e
um número negativo (complementar)
sempre resultam em respostas corretas
• Para resolver problemas de overflow é
Sistema em Complemento de Dois
• Para exemplificar, vamos assumir que o
maior número
necessário aos nossos
propósitos é o positivo
011
e o
menor
número
o negativo 100
• Cada número no sistema utiliza o
bit
mais
significativo para indicar
o sinal
do mesmo
• Números entre
000 e 011 são positivos
0
1
1
Bits Representando a Magnitude
Número Positivo:
Magnitude na forma Binária Direta
Bit de Sinal
Número Positivo: Bit de Sinal = 0
1
0
1
Bits Representando a Magnitude
Número Negativo:
Magnitude na forma Complemento de Dois da respectiva magnitude na Forma Direta
Bit de Sinal
Número Negativo: Bit de Sinal = 1
= + 3
=
–3
Obtendo o Complemento de Dois
• O complemento de dois um número é obtido subtraindo-se a respectiva magnitude na
• Exemplo: Coloque negativo 3 na forma complementar de dois
23 = 8 = 1000
3d=11b
1 2
4 8
1 0
1 0
1
sub 1
0 0
0 1
1 1
1
borrow
Números Negativos
Decimal Convencional
Complemento de Dois Bit de Sinal
Números Positivos
Decimal Convencional
Forma Binária Direta Bit de Sinal
1 1 1 1
0 0 0 0
0 0 1 1 0 0 1 1
– 4
0
– 3
1
– 2
0
– 1
1
0
0
+ 1
1
+ 2
0
+ 3
Obtendo o Complemento de Dois
de Outra Maneira
• O complemento de dois um número pode ser obtido também invertendo-se cada bit da
respectiva magnitude na forma binária direta, também chamado de complemento de 1, e adicionando-se 1 ao LSB deste complemento
• Exemplo: Coloque negativo 3 na forma complementar de dois
3d=11b
1 2
4
1 0
1
add 1
0 0
1
0 0
carry
sinal
complemento de um de 011b =
Representação em Complemento de Um:
-7 a +7
0000
0111
0011
1011
1111 1110
1101
1100
1010
1001
1000
0110 0101
0100 0010 0001
+0
+1
+2
+3
+4
+5
+6
+7 -7
-6 -5
-4 -3
-2
-1
-0
Representação em Complemento de Dois:
-8 a +7
0000
0111
0011
1011
1111 1110
1101
1100
1010
1001
1000
0110 0101
0100 0010 0001
+0
+1
+2
+3
+4
+5
+6
+7 -1
-2
-3
-4
-5
-6
-7
Soma de Dois
Números Positivos:
Overflow
0000
0111
0011
1011
1111
1110
1101
1100
1010
1001
1000
0110 0101
0100 0010 0001
+0
+1
+2
+3
+4
+5
+6
+7 -1
-2
-3
-4
-5
-6
-7
-8
5 + 3 =
0101 + 0011 = 1000 = -8adição:
sentido horário Esta adição de dois
números positivos
produz
um número negativo
Soma de Dois
Números Negativos:
Overflow
0000
0111
0011
1011
1111
1110
1101
1100
1010
1001
1000
0110 0101
0100 0010 0001
+0
+1
+2
+3
+4
+5
+6
+7 -1
-2
-3
-4
-5
-6
-7
-8
-6 - 4 =
1010 + 1100 = 0110 = +6subtração:
sentido anti-horário
Esta adição de dois números negativos produz
um número positivo
Multiplicação Binária
1
=
1 ×
1
0
=
0 ×
1
0
=
1 ×
0
0
=
0 ×
Multiplicação Binária
0 1
1 1
1 30 =
1 0
1
+
1 0
1
0 0
0
0 1
1 6 =
×
1 0
1 5 =
1 2
4 8
16
0
0 = 5
1 0
0
1 0
1
0 1
1
0 1
1
1 1
1 1
_ 1 0
1 1
_
0 0
0
30 ÷ 6
Decimal Codificado em Binário
• O código
BCD
(
B
inary
C
oded
D
ecimal) é
utilizado para representar dígitos decimais
de 0 a 9
• O mesmo pode representar números
decimais de
vários dígitos
, sendo
cada
dígito
representado por um
grupo de 4 bits
Exemplo: Display de 7 segmentos
1o dígito BCD
Decodificador BCD →7 segmentos
Decodificador BCD → 7 segmentos
Decodificador BCD → 7 segmentos
1001 0111 0010
2o dígito BCD
Adição BCD
0000 0111 0011 1011 1111 1110 1101 1100 1010 1001 1000 0110 0101 0100 0010 0001 0 1 2 3 4 5 6 7 x x x x x x 9 8 adição: sentido horárioSoma menor ou igual a 9 sempre é correta
1 1 1 0 0 0 1 1 1 0 0 1 0 1 0 Números Proibidos
5 + 3 = 8
Adição BCD
0000 0111 0011 1011 1111 1110 1101 1100 1010 1001 1000 0110 0101 0100 0010 0001 0 1 2 3 4 5 6 7 x x x x x x 9 8 adição: sentido horário 1 1 1 0 1 0 1 1 1 0 0 1 1 1 07 + 3 = 0
Para corrigir adiciona-se
6 ao resultado inválido
0
Adição BCD de Múltiplos Dígitos
1 1 1 0 1 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 + + 0 6 1 3 6 7 9 + 0 1
+ 0 1
0 0 0 1 1 1
o carry é transportado do 1o dígito para o 2o dígito
0 1
+ 0 1
0 1 1 0
1 1
1 1
o carry é transportado do 2o dígito para o 3o dígito
1 1
1o dígito BCD
2o dígito BCD