mat115 – introdução ao processamento de dadosibirisol/7zvr7wad2hrrm/aulas/aula-2-slide-2.pdf ·...

41
Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira <[email protected]> DCC: Departamento de Ciência da Computação

Upload: dinhkiet

Post on 01-Dec-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 2: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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/

Page 3: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

O que será abordado?

✗Bases numéricas: conversões e aritmética em base Binária

Page 4: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 5: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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. ..

Page 6: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 7: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

Números Decimais

Quanto é 480.52 expresso em soma de produtos?

Page 8: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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)

Page 9: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 10: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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. ..

Page 11: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 12: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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?

Page 13: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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¼

Page 14: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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?

Page 15: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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.

Page 16: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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)

Page 17: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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?

Page 18: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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:

Page 19: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 20: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

Operações Aritméticas

1 1 1 0 0 1 1 1

+1 0 1 0 1

1 1 1 0 0

Page 21: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 22: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

Operações Aritméticas

-1 -1 -1 1 0 1 0 1

-0 0 1 1 1

0 1 1 1 0

Page 23: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 24: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 25: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

Operações Aritméticas

A divisão é um pouco diferente, mas é baseada em subtrações sucessivas

Quanto é a divisão de 110001 por 111?

Page 26: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

Operações Aritméticas

1 1 0 0 0 1 | 1 1 1-0 1 1 1 | ------------------------------ 1 0 1 0 1

Page 27: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 28: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 29: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 30: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 31: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 32: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 33: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 34: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 35: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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)

Page 36: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 37: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 38: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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

Page 39: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

Ponto Flutuante

0 10001011 000000001001

1 bit 7 bit 23 bit

(4105)d = 4.105 * 10^3 = (1000000001001)b

1.000000001001 * 2^12

Page 40: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

¿...?

Page 41: MAT115 – Introdução ao Processamento de Dadosibirisol/7zvR7waD2HrRM/aulas/aula-2-slide-2.pdf · Representação de dados e sistemas de numeração MAT115 – Introdução ao Processamento

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.