Representação de dados e sistemas de numeração
MAT115 – Introdução ao Processamento de DadosProfessor: Ibirisol Fontes Ferreira <[email protected]>DCC: Departamento de Ciência da Computação
Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da:
Creative Commons License: Atribuição - Uso não comercial - Permanência da Licença
http://creativecommons.org/licenses/by-nc-sa/3.0/
O que será abordado?
✗Bases numéricas: conversões e aritmética em base Binária
Números Decimais
A posição de cada dígito do número é atribuído um peso segundo a base do sistema
A base dos números decimais é dez, porque apenas dez símbolos (0 a 9) são usados, para representar qualquer número
Os pesos dos números decimais são potências de dez, que aumentam da direita para a esquerda, com início 10 = 1⁰
...106 105 104 103102101100
Números Decimais
Para números decimais fracionários, os pesos das colunas são potências negativas de dez que diminuem da esquerda para a direita
102101100 .10−1 10−210−3 10−4. ..
Números Decimais
Os números decimais pode ser expressos como a soma dos produtos de cada dígito vezes o valor da posição do dígito
Assim, o número 9240 pode ser expresso como
9 x103+2 x 102
+4 x 101+0 x 100
Números Decimais
Quanto é 480.52 expresso em soma de produtos?
Números Decimais
Quanto é 480.52 expresso em soma de produtos?
(4 x 102) + (8 x 101) + (0 x 100) + (5 x 10-1) +(2 x 10-2)
Números Binários
Nos sistemas digitais usa-se o sistema numérico binário
Em Binário, temos a base dois e usamos os dígitos 0 e 1 para representar as quantidades
As casas dos números binários são potências de dois que aumentam da direita para a esquerda, com início em
...2625 24 23 22 21 20
20=1
Números Binários
Também podemos representar números binários fracionários, os pesos de coluna são potências negativas de dois, que diminuem da esquerda para a direita
222120 .2−12−22−3 2−4. ..
0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 110 1 0 1 011 1 0 1 112 1 1 0 013 1 1 0 114 1 1 1 015 1 1 1 1
Decimal Number
Binary Number
Counter Decoder1 0 1 0 1 0 1 00 1
0 1 1 0 0 1 1 00 0
0 0 0 1 1 1 1 00 0
0 0 0 0 0 0 0 10 1
Números Binários
Abaixo a contagem de uma sequência binária de zero à quinze
Neste caso, os números estão valorados pela coluna
Frequentemente, contadores digitais têm esse padrão de dígitos
Conversão
O número decimal equivalente a um número binário pode ser determinado pela soma dos valores de todos os bits das colunas que são 1
Os bits valorados com 0 são descartados
Como converter o número 100101.01 para decimal?
Conversão
Podemos começar escrevendo os pesos das colunas, em seguida, adicionamos os pesos que correspondem a cada um dos números
25 24 23 22 21 20. 2-1 2-2
32 16 8 4 2 1 . ½ ¼
1 0 0 1 0 1. 0 1
32 +4 +1 +¼ = 37¼
Conversão
Podemos converter um número inteiro decimal para binário, invertendo o procedimento
Escreva o peso decimal de cada coluna e coloque 1 nas colunas que fazem parte da decomposição em soma do número decimal
Como converter o número decimal 49 em binário?
Conversão
Coloque os pesos das colunas em binário para cada posição
Anote os pesos das colunas até que o último número seja maior que o que você deseja converter
Valore com 1 as casas que são necessárias para somar o valor em decimal
26 25 24 23 22 21 20.
64 32 16 8 4 2 1.
0 1 1 0 0 0 1.
Conversão
A conversão de uma fração decimal para uma em binário pode ser feita multiplicando repetidamente os resultados fracionários de multiplicações por 2
Converta a fração decimal 0.188 em binário multiplicando repetidamente os resultados fracionários por 2
0.188 x 2 = 0.376 vai = 00.376 x 2 = 0.752 vai = 00.752 x 2 = 1.504 vai = 10.504 x 2 = 1.008 vai = 10.008 x 2 = 0.016 vai = 0
Resposta = .00110 (para cinco dígitos)
Conversão
É possível converter números decimais para outra base, basta dividir repetidamente pelo valor da base
Por exemplo, na conversão para binário, dividem-se repetidamente por 2
Como converter o número decimal 49 em binário?
Conversão
É possível converter números decimais para outra base, basta dividir repetidamente pelo valor da base
Por exemplo, na conversão para binário, dividem-se repetidamente por 2
Como converter o número decimal 49 em binário?
Número decimal
base
10011 049 224
resto
Quociente
126310Continuar até o quociente tornar-se 0
Resposta:
Operações Aritméticas
As operações aritméticas são muito importantes no sistema binário, geralmente é feito o mesmo processo do sistema decimal
A soma por exemplo, pode ser feita com as regras a seguir
Quanto é a soma de 00111 e 10101?
0+0
0
1+0
1
0+1
1
1+1
1 0
Vai 1, carry
Operações Aritméticas
1 1 1 0 0 1 1 1
+1 0 1 0 1
1 1 1 0 0
Operações Aritméticas
A subtração segue o seguinte esquema
Quanto é a subtração de 10101 por 00111?
0-0
0
1-0
1
0-1
1 1
1-1
0
Vai 1, carry
Operações Aritméticas
-1 -1 -1 1 0 1 0 1
-0 0 1 1 1
0 1 1 1 0
Operações Aritméticas
A multiplicação é feita da seguinte forma
Quanto é o produto de 11010 por 10?
0*0
0
1*0
0
0*1
0
1*1
1
Operações Aritméticas
1 1 0 1 0
*10
0 0 0 0 01 1 0 1 0
1 1 0 1 0 0
Operações Aritméticas
A divisão é um pouco diferente, mas é baseada em subtrações sucessivas
Quanto é a divisão de 110001 por 111?
Operações Aritméticas
1 1 0 0 0 1 | 1 1 1-0 1 1 1 | ------------------------------ 1 0 1 0 1
Operações Aritméticas
1 1 0 0 0 1 | 1 1 1-0 1 1 1 | ------------------------------ 1 1 0 1 0 1 0-0 0 1 1 1------------- 0 0 0 1 1
Operações Aritméticas
1 1 0 0 0 1 | 1 1 1-0 1 1 1 | ------------------------------ 1 1 1 0 1 0 1 0-0 0 1 1 1------------- 0 0 0 1 1 1-0 0 0 1 1 1------------- 0 0 0 0 0 0
Notação de números binários
Fora do escopo da representação gráfica, os números binários tem uma forma de representar em hardware os sinais + e -
A maneira mais simples de representar na própria cadeia de bits o sinal é utilizando um bit mais de sinal, este deve ficar mais a esquerda que o casa mais significativa
Essa notação chama-se sinal-módulo
Notação de números binários
49 = 0 1 1 0 0 0 1
-8 = 1 1 0 0 0
Sinal positivo
Sinal negativo
Notação de números binários
Uma outra forma de representar os sinais dos números binários negativos é utilizando uma técnica de complemento
O primeiro é o complemento de 1
Representado por um inversor de bit
O segundo é o complemento de 2
Notação de números binários
-49 = 1 1 0 0 0 10 0 1 1 1 0
No complemento de 1 basta inverter a sequência de bits
1 1 0 0 0 1
0 0 1 1 1 0
Notação de números binários
-49 = 1 1 0 0 0 10 0 1 1 1 0
+1 0 0 1 1 1 1
Já o complemento de 2basta somar 1 ao número
No complemento de 1 bastainverter a sequência de bits
1 1 0 0 0 1
somador
0 0 1 1 1 1
carry in1
Notação de números binários
Mesmo com complemento de 2, temos ainda que sinalizar que o número está em sua forma negativa
Quando armazenarmos números positivos teremos que saber se é um número em complemento de 2 ou se é positivo
Normalmente usa-se 8-bits para representar números binários, usando o oitavo bit na forma sinal-módulo
49 = 0 0 1 1 0 0 0 1
-49 = 1 1 0 0 1 1 1 1
Sinal positivo
Sinal negativo
Forma de complemento de 2
Forma binária
Inteiros
Nos sistemas computacionais a representação de um número inteiro é função do número de bits disponíveis para mapear o intervalo de números
Com uma sequência de oito bits (1 byte) é possível representar 256 números
Para 2 bytes a representação já salta para 65.536 números
Já com 4 bytes os números possíveis ficam em 4.295 × 10^9
Como o conjunto dos números inteiros contém os números negativos a faixa de valores fica em torno de -(2^n - 1) à +(2^(n - 1) -1)
Ponto Flutuante
Quando é necessário representar números com parte inteira e fracionária (3.14159265359 por exemplo), usamos a numeração por ponto flutuante (ou real)
Usa-se com os pontos flutuantes a notação científica, permitindo a representação de números muito grandes e muito pequenos (incluindo os fracionários) sem o aumento do número de bits representa números que têm parte inteira e fracionária
Ponto Flutuante
Um ponto flutuante consiste em duas partes mais um sinal
A mantissa representa a magnitude do número
O expoente representa o número de casas decimais que a vírgula decimal é movida
O número inteiro 241.506.800 pode ser representado como ponto flutuante da seguinte forma 0.2415068 × 10^9
Onde 0.2415068 é mantissa
O expoente é 9
S Expoente Mantissa
1 bit 8 bit 23 bit
Ponto Flutuante
Por exemplo, para representar decimal 41053 em ponto flutuante temos que converte-lo para a forma binária
Após isso temos que fazer o shift da base binária para a forma fracionária da onde tiraremos o expoente e a mantissa, o bit mais significativo (MSB) sempre é 1
Devemos somar ao expoente o valor de 127 para polariza-lo (permitindo que expoentes negativos e positivos sejam representados, intervalo de -126 àte +128)
(4105)d = 4.105 * 10^3 = (1000000001001)b
1.000000001001 * 2^12
12 + 127 = 10001011
Ponto Flutuante
0 10001011 000000001001
1 bit 7 bit 23 bit
(4105)d = 4.105 * 10^3 = (1000000001001)b
1.000000001001 * 2^12
¿...?
Referências
Sistemas Digitais: Fundamentos e Aplicações. Floyd, Thomas L.. Bookman, 2007, 9 edição.
PowerPoints for Digital Fundamentals, 10th edition, Acessado: Set/2014
IDOETA, Ivan Valeije; CAPUANO, Francisco Gabriel. Elementos de eletrônica digital. Livros Erica, 1982.
Top Related