Buscar

1- Sistemas de numeracao e codigos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Sistemas de Numeração e Códigos
Prof. Remy Eskinazi, DSc
UPE -Poli / IFPE/ Unibratec
*
*
Sistemas Digitais
Circuitos eletrônicos que são construídos com lógica digital utilizando uma determinada tecnologia de implementação
Computação de uso geral ou dedicada
Telecomunicações
Automação e controle de processos
Robótica
Medicina
Instrumentação
...
*
*
*
Evolução Histórica dos Computadores
Computadores mecânicos (1642 – 1945)
Primeira geração (1945 – 1955)
Tecnologia: Válvulas
Segunda geração (1955 – 1965)
Tecnologia: Transistores
Terceira geração (1965 – 1980)
Tecnologia: Circuitos integrados
Quarta geração (1980 em diante)
Tecnologia: VLSI (Very Large Scale Integration)
Quinta geração (?)
Tecnologia: (?)
*
*
*
Evolução Histórica dos Computadores
Alguns marcos históricos...
1642 – Calculadora mecânica - Pascal
1834 – Máquina analítica – Babbage
1943 – COLOSSUS – 1º Computador electrônico 
1964 – IBM 360 – 1ª linha de produtos
1974 – Intel 8080 – 1º chip de 8 bits para uso geral
1981 – IBM PC – 1º PC tal como os conhecemos
1987 – Sun SPARC – 1ª Workstation RISC
*
*
*
Evolução Histórica dos Computadores
1ª Geração (1945 – 1955)
ENIAC 
	Desenvolvido pelo exército americano para cálculo balístico
*
*
*
Evolução Histórica dos Computadores
2ª Geração (1955 – 1965)
IBM 1401 
	
*
*
*
Evolução Histórica dos Computadores
3ª Geração (1965 – 1980)	
DEC PDP-11
IBM 360
*
*
*
Evolução Histórica dos Computadores
4ª Geração (1980 em diante)	
IBM PC
Sinclair ZX Spectrum
Apple Macintosh
*
*
*
Evolução Histórica dos Computadores
4ª Geração (1980 em diante)	
Tablets
Dell Desktops
HP Server
*
*
Sistemas Digitais
Características gerais dos sistemas digitais
Uso de álgebra booleana
Diversas tecnologias de implementação
Em contínua expansão
Ferramentas de projeto
Uso de representações numéricas
A complexidade aumenta a cada dia
...
*
*
Representação da Informação
Nos sistemas digitais, a informação é representada por sinais elétricos
Tensão alta – e.g. 3 a 5.5 V – HIGH = Estado ‘1’
Tensão baixa – e.g. -0.5 a 2 V – LOW = Estado ‘0’
Ex: 1000110011110001b pode representar um comando básico (instrução) de um microprocessador
Cada dígito binário (0 ou 1) designa-se por bit (menor informação digital possível)
*
*
Sistemas de Numeração
Binário (base 2)
{0, 1}
Octal (Base 8)
{0, 1, 2, 3, 4, 5, 6, 7}
Decimal (base 10)
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Hexadecimal (Base 16)
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
*
*
Sistemas de Numeração
Decimal (base 10) (Sistema Posicional)
10 dígitos – 0 a 9 
 Exemplo: 2745.214 = 2×103 + 7×102 + 4×101 +5×100 + 2×10-1 + 1×10-2 + 4×10-3
Conversão de Números em uma base b qualquer para a base 10 Nb = an.bn + .... + a2.b2 + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + .... + a-n.b-n 
*
*
Sistemas de Numeração
Binário (base 2)
2 dígitos – 0 e 1
Conversão Binário em Decimal
Exemplo: 1011.101 = 1×23 + 0×22 + 1×21 + 1×20 + 1×2-1 + 0×2-2 + 1×2-3 	 = (11,625 )10
Potências de 2
K (Kilo) – 210 = 1024
M (Mega) – 220 = 1024x1024 = 1.048.576
G (Giga) – 230 = 1024x1024x1024 = 1.073.741.824
T (Tera) – 240 = 1.073.741.824 x 1024 = 1.099.511.627.776
*
*
Conversão Decimal em Binário
*
*
Sistemas de Numeração
Conversão base 10  base 2
Divide-se sucessivamente por 2 e anota-se o resto 
	Ex: (41)10
	(41)10 = (101001)2
Bit menos significativo 
Bit mais significativo 
*
*
Conversão da Parte Fracionária
Parte Fracionária do Número
A conversão da parte fracionária do número será feita, algarismo a algarismo, da esquerda para a direita, baseada no fato de que se o número é maior ou igual a 0,5 , em binário aparece 0,1, isto é, o correspondente a 0,5 decimal.
Assim, 0,6 será 0,1_ _ ..., ao passo que 0,4 será 0,0_ _ ...
Tendo isso como base, basta multiplicar o número por dois e verificar se o resultado é maior ou igual a 1. Se for, coloca-se 1 na correspondente casa fracionária, se 0 coloca-se 0 na posição. Em qualquer dos dois casos, o processo continua, lembrando-se, ao se multiplicar o número por dois, a vírgula move-se para a direita e, a partir desse ponto, estamos representando, na casa à direita, a parte decimal do número multiplicado por dois.
Vamos ao exemplo, representando, em binário, o número 0,625.
0,625 x 2 = 1,25 , logo a primeira casa fracionária é 1.
Resta representar o 0,25 que restou ao se retirar o 1 já representado.
0,25 x 2 = 0,5 , logo a segunda casa é 0.
Falta representar o 0,5 .
0,5 x 2 = 1 , logo a terceira casa é 1.
0,62510 = 0,1012
Quando o número tiver parte inteira e parte fracionária, podemos calcular, cada uma, separadamente.
Tentando representar 0,8, verifica-se que é uma dízima.
0,8 = 0,110011001100....
Da mesma forma, vê-se que 5,8 = 101,11001100... , também uma dízima.
11,6 = 1011,10011001100... o que era óbvio, bastaria deslocar a vírgula uma casa para a direita, pois 11,6 = 2 x 5,8 .
*
*
Conversão da Parte Fracionária
Exemplo: 0.828125(10) = X(2) 
0.828125 x 2 = 	1. 65625
0.65625 x 2 	= 	1.3125
0.3125 x 2 	= 	0.625
0.625 x 2 	= 	1.25
0.25 x 2 	= 	0.5
0.5 x 2 	= 	1
Logo, 
0.828125(10) = 	0.110101(2) 
*
*
Seqüência de contagem para 4 bits
*
*
Sistemas de Numeração
Hexadecimal (base 16) e Octal (base 8)
Representação fácil de quantidades binárias
Octal – 8 dígitos – 0 a 7
Hexadecimal – 16 dígitos 0 a 9; A a F
Exemplos: 
(25)8 = 2×81 + 5×80 = (21)10
(B3)16 = 11×161 + 3×160 = (179)10
*
*
Sistemas de Numeração
Tabela de conversão de bases
*
*
Sistemas de Numeração
Conversão base 2  base 8
Grupos de 3 bits
	(101001)2 = (51)8
Conversão base 2  base 16
Grupos de 4 bits
	(101001)2 = (29)16
*
*
Números Inteiros e Fracionários
Números inteiros
Armazenamento dependente do hardware
8 bits (byte): [0; 255] ou [-128; 127]
16 bits (word): [0; 65535] ou [-32768; 32767]
32 bits (double word): [0; 4294967295] ou [-2147483648; 2147483647]
64 bits .......
Números fraccionários
Representados na forma				 ± mantissa  10 ± expoente
*
*
Números Inteiros e Fracionários
Faixa de números sem sinal para 8 bits: 0 a 256-1
0000 0000(2) = 0(10)
0000 0001(2) = 1(10)
0000 0010(2) = 2(10)
		...
1111 1100(2) = 252(10)
1111 1101(2) = 253(10)
1111 1110(2) = 254(10)
1111 1111(2) = 255(10)
*
*
Representação de números
Números reais: infinitos.
No computador: finitos.
Maioria: grande quantidade de zeros à esquerda.
Computador: pode lidar com números até um certo tamanho.
Overflow: tratado pelo sistema operacional.
No computador: é preciso representar números com sinal. 
Solução: usar 1 bit (sinal magnitude).
Primeira tentativa: o bit mais significativos (MSB) é usado para sinal.
Problema: duas representações para o zero
Solução mais usada: complemento a 2
*
*
*
Complemento a 2
Faixa de valores em complemento a 2 para 3 bits
0
-4
2
-2
1
3
-3
-1
*
*
Complemento a 2
Complemento a 2: regra prática
Considere X = 0000 1000, o complemento a 2 de X será:
-X = 1111 1000
*
*
Operações Aritméticas
Mesmas regras da base 10
Adição
Subtração
*
*
Adição e Subtração (8 bits)
6(10) = 0000 0110(2)
7(10) = 0000 0111(2)
adição
subtração
Subtração com complemento a 2
*
*
Operações Aritméticas
Multiplicação
*
*
Operações Aritméticas
Divisão
1 1 0 1 1 1 1
 --------------
1 1 1 0 0 1
--------
0 0 0
 0 0
 --------
 0 0 1
 0 0
 ---------
 0 1 1
 1 1
 ------
 0 0
*
*
Códigos
Binário
Característica: Representação Binária de qualquer número
Ex. Representação binário para 4 bits
0000  0
0001  1
0010  2
0011  3
0100  4
0101  5
0110  6
0111  7
1000  8
1001  9
1010  10
1011  11
1100  12
1101  13
1110  14
1111  15
*
*
Códigos
BCD
Característica: Representação Binário da base 10
 0000  0
0001  1
0010  2
0011  3
0100  4
0101  5
0110  6
0111  7
 1000  8
 1001  9
*
*
Códigos
BCD
*
*
Códigos
GRAY
Característica: Apenas 1 bit muda por número seqüenciado
 00
01
11
10
 000  0
001  1
011  2
010  3
110  4
111  5
101  6
100  7
 0
1
*
*
Códigos Alfanuméricos
ASCII American Standard Code for Information Interchange
7 bits + 1 de paridade (opcional)
Pequeno conjunto de caracteres
Caracteres de controle
Sinais ortográficos
Algarismos
Letras maiúsculas e minúsculas (A...Z; a...z)
Sinais algébricos
*
*
Códigos
Tabela de códigos ASCII
*
Tabela ASCII Extendida
*
*
*
*
Códigos Alfanuméricos
UNICODE
16 bits
ISO / IEC 10646
Grafismos de todo o mundo
Alfabeto latino
Alfabeto cirílico
Caracteres chineses, etc.
Necessita conversão little-endianbig-endian
Little-endian – byte de maior peso à esquerda
Big-endian – byte de maior peso à direita
*
*
Resumo
Bases numéricas
Facilidade de representação
Aritmética digital
Utilizada em circuitos controladores digitais
Códigos digitais
Representação de grandezas de forma apropriada
Pode ser necessário acrescentar zeros à esquerda (e/ou à direita no caso de números fraccionários) para converter números binários para octal ou hexadecimal.
Exemplo: números fraccionários 32 bits – tem-se 8 bits para o expoente (1 de sinal + 7) e 24 bits para a mantissa (1 de sinal + 23). A virgula é fixada entre o primeiro e segundo bit de maior peso da mantissa.
As mesmas regras servem para outras bases como a base 8 e base 16
As mesmas regras servem para outras bases como a base 8 e base 16
O bit de paridade serve para verificar se houve erros na transmissão. Só consegue detectar erros se estes ocorrerem num número impar de bits.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes