Representação de Dados

Documentos relacionados
Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Exemplo de Subtração Binária

Organização e Arquitetura de Computadores I

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Representação Binária de Números

Aritmética Binária e. Bernardo Nunes Gonçalves

Sistemas de Numeração

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

Universidade do Minho Departamento de Electrónica Industrial. Sistemas Digitais. Exercícios de Apoio - I. Sistemas de Numeração

Sistemas de Numeração

CAPÍTULO 6 ARITMÉTICA DIGITAL

Codificação 1. Introdução. C 2 R r {! + codificação

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Sistemas de Numerações.

Representação de Dados e Sistemas de Numeração

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Aula 9. Introdução à Computação. ADS IFBA

SISTEMAS DE NUMERAÇÃO

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Arquitetura de Computadores

Hardware de Computadores

Aula 6 Aritmética Computacional

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Sistemas de Numeração

Unidade 3: Sistemas de Numeração Conversões Entre Quaisquer Bases e Aritmética em Bases Alternativas Prof. Daniel Caetano

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Representação de Dados

Conversão de Bases e Aritmética Binária

Operações aritméticas

Conversão Entre Bases Numéricas.

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

3 Sistemas de Numeração:

Unidade 5: Sistemas de Representação

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

13 Números Reais - Tipo float

Lista de Exercícios Sistemas de Numeração

Sistemas de Numeração

Introdução à Engenharia de

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Ano letivo: 2012/2013. Sistemas de numeração. Pág.: 1/11. Escola profissional de Fafe SDAC. Trabalho elaborado por: Ana Isabel, nº905 TURMA 7.

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais.

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Métodos Numéricos e Estatísticos Parte I-Métodos Numéricos Teoria de Erros

Capítulo 2. Representação de dados em sistemas computacionais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

Notas de aula #1 SISTEMAS NUMÉRICOS

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

Prof. Luís Caldas Sistemas de Numeração e Transformação de Base NUMERAÇÃO, BASE NUMÉRICA E TRANSFORMAÇÃO DE UMA BASE

Sistemas de Numeração

Aula 3 - Sistemas de Numeração

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

ARQUITETURA DE COMPUTADORES

1. Sistemas de numeração

2. Representação Numérica

Circuitos Digitais Cap. 5

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Álgebra de Boole. Sistema de Numeração e Códigos. Prof. Ubiratan Ramos

Fabio Bento

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

Disciplina: : ELETRÔNICA DIGITAL

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO

Aritmética de Ponto Flutuante

Sistemas de numeração

Sistemas de Numeração

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

Sistema de Numeração e Códigos. Sistemas de Informação CPCX UFMS Prof. Renato F. dos Santos

Conversões em Sistemas de Numeração. José Gustavo de Souza Paiva

Introdução à Informática Aulas 9 e 10

Medidas e Incertezas

COMPUTAÇÕES NUMÉRICAS. 1.0 Representação

Sistemas de Numeração. 1 Introdução aos sistemas numeração

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

Lógica Combinacional Aula 01 Sistema de Numeração. Felipe S. L. G. Duarte

Informática Sistemas de Numeração. Profª. Me. Valéria Espíndola Lessa

ICC - Aula 6. Ivan da Silva Sendin. November 17, Bits, portas logicas, flip-flops,... Numeros e Simbolos Exercicios

Licenciatura em Engenharia Electrotécnica e de Computadores 1998/99. Erros

Aula 08. Sistemas Numéricos Conversões. Prof. Dr. Dilermando Piva Jr.

ELETRÔNICA DIGITAL 1

Aula 2 Sistemas de Numeração (Revisão)

3. Sistemas de Numeração

Matemática Aplicada à Informática

Índice de conteúdos. Índice de conteúdos. Capítulo 2. Representação de Números e Erros Representação de números em diferentes bases...

Sistemas numéricos. Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS ago-09

2. Sistemas de numeração

Capítulo I : Noções Gerais

Transcrição:

Representação de Dados

Introdução Todos sabemos que existem diferentes tipos de números: fraccionários, inteiros positivos e negativos, etc. Torna-se necessária a representação destes dados em sistema binário para utilização no computador.

Números Fraccionários

Representação de Dados Números Fraccionários Os números fraccionarios podem ser expressos em potências de 10, tal como os números inteiros. Neste caso as potências de 10 têm expoente negativo.

Representação de Dados Números Fraccionários 0,27315

Representação de Dados Números Fraccionários 0,27315 0,2 + 0,07 + 0,003 + 0,0001 + 0,00005 ou 2 x 0,1 + 7 x 0,01 + 3 x 0,001 + 1 x 0,0001 + 5 x 0,00001 ou 2 x 10-1 + 7 x 10-2 + 3 x 10-3 + 1 x 10-4 + 5 x 10-5

Representação de Dados Números Fraccionários Como se representam os seguintes números em desenvolvimento de potências de 10? 0,32 32,3 3,019 = 3x10-1 + 2x10-2 = 3x10 1 + 2x10 0 + 3x10-1 = 3x10 0 + 0x10-1 + 1x10-2 + 9x10-3

Conversão de Números Fraccionários

Conversão Binário - Decimal Na conversão de binário para decimal, importa apenas ter em conta que os números a converter serão potências de 2 com expoente negativo: 2-1, 2-2, 2-3, 2-4,... ou 1/2, 1/2 2, 1/2 3, 1/2 4,...

Conversão Binário - Decimal A que correspondem no sistema decimal os seguintes números binários? 0,1101 2 11,001 2 = 1/2 + 1/2 2 + 1/2 4 = 0,812510 = 2 + 1 + 1/2 3 = 3,12510

Conversão Decimal - Binário A conversão de decimal para binário também segue o mesmo procedimento usado para o caso de números inteiros. No método das potências é só ter em conta as potências de expoente negativo. No método das divisões existe uma diferença importante. Em vez de sucessivas divisões vamos trabalhar com multiplicações e em vez de usar os restos vamos usar as partes inteiras resultantes.

Conversão Decimal - Binário 0,625 0,625 x 2 = 1,25 0,1... 0,25 0,25 x 2 = 0,5 0,10... 0,5 0,5 x 2 = 1,00 0,101 0,62510 = 0,1012

Conversão Decimal - Binário O processo termina quando a parte decimal for zero. A conversão para decimal pode implicar uma fracção binária infinita. Neste caso deveremos terminar a conversão quando o número de dígitos significativos pedido for alcançado.

Conversão Decimal - Binário 0,67 0,67 x 2 = 1,34 0,1... 0,34 0,34 x 2 = 0,68 0,10... 0,68 0,68 x 2 = 1,36 0,101... 0,36 0,36 x 2 = 0,72 0,1010...

Conversão Decimal - Binário 0,36 0,36 x 2 = 0,72 0,10100... 0,72 0,72 x 2 = 1,44 0,101001... 0,44 0,44 x 2 = 0,88 0,1010010...... continuaria indefinidamente

Conversão Hexadecimal - Decimal Os números fraccionários hexadecimais também são expressos em potências de expoente negativo. 0,F 16 = 15 x 16-1 = 15 x 1/16 = 0,937510

Conversão Decimal - Hexadecimal Para converter fracções decimais usa-se um método semelhante ao visto anteriormente, multiplicando por 16. A parte inteira de cada multiplicação é um dígito hexadecimal do novo número. O critério de paragem é o número de dígitos significativos que queremos. Este procedimento vai portanto ser semelhante para qualquer base que se queira analisar!

Conversão Decimal - Hexadecimal 0,625 0,625 x 16 = 10 0, A 0,62510 = 0,A16 0,21875 0,21875 x 16 = 3,5 0,5 0,5 x 16 = 8 0,3... 0,38 0,2187510 = 0,3816

Conversão Binário - Hexadecimal Tal como nos números inteiros, também nos fraccionários conseguimos uma conversão simples entre binários e hexadecimais. Importa apenas salientar qu no caso da parte fraccionária os bits agrupam-se da esquerda para a direita.

Conversão Binário - Hexadecimal 1001101,101111 410 1310 1110 310 4D,B316

Conversão Hexadecimal - Binário C 9,1 B 11002 10012 00012 10112 C9,1B16 =11001001,000110112

Adição e Subtracção de Números Fraccionários

Adição e Subtracção Números Fraccionários As operações aritméticas com números fraccionários binários e hexadecimais seguem as mesmas regras que as operações aritméticas com números decimais.

Adição e Subtracção Números Fraccionários Qual será o resultado das seguintes operações? 1001,11 2 + 100,112 1000,1 2-0,112 101,11 2 x 0,112 13,F 16 + 0,FF16 2,FF 16-1E,F16

Adição e Subtracção Números Fraccionários 1 1 1 1001,112 + 0100,112 1110,102 * * * * * 1000,102-0000,112 0111,112

Adição e Subtracção Números Fraccionários 101,112 * 000,112 10111 + 10111 1000101 O número de casas decimais é a soma do número de casas decimais dos dois operandos! 100,01012

Adição e Subtracção Números Fraccionários 1 13,F016 + 00,FF16 14,EF16 * * 1E,F016-02,FF16 1B,F116

Números Inteiros Com e Sem Sinal

Números Inteiros Sem Sinal - BCD Em aplicações de output digital são usados códigos de representação decimal. Um dos códigos mais conhecidos é o BCD (Binary Coded Decimal). Este código usa os primeiros 10 números do sistema binário para codigicar os 10 dígitos decimais.

Números Inteiros Sem Sinal - BCD A diferença entre o sistema binário de o código BCD só se faz sentir a partir do número decimal 9, uma vez que no código BCD os números decimais não são tratados no seu conjunto, mas sim dígito a dígito.

Números Inteiros Sem Sinal - BCD 279510 BCD: 0010011110010101 Conversão Binária: 101011101011

Números Inteiros Com Sinal - Sinal de Grandeza Estamos habituados a representar números positivos e negativos com os sinais + e -. No entanto, no computador apenas dispomos dos símbolos 0 e 1, como já vimos. Uma das formas de representar o sinal é o que normalmente se designa sinal de grandeza.

Números Inteiros Com Sinal - Sinal de Grandeza Na representação com sinal de grandeza, o bit mais significativo é reservado para indicar o sinal. Bit mais significativo a 0 - número positivo Bit mais significativo a 1 - número negativo

Números Inteiros Com Sinal - Sinal de Grandeza Quando falávamos em inteiros positivos conseguíamos com 1 byte (8 bits) representar 256 números positivos diferentes (2 8 ). Ao reservar-se o número mais significativo ficamos apenas com 7 bits o que faz com que consigamos representar apenas 128 números positivos e 128 negativos.

Números Inteiros Com Sinal - Sinal de Grandeza Alguns inconvenientes são: Necessidade de um bit adicional, mesmo que estejamos só a lidar com números positivos; Existem duas representações para a mesma quantidade (+0 e -0); As operações são muito complexas.

Números Inteiros Com Sinal - Complemento para 2 Para evitar o sinal surgiram outras formas de representação. Por exemplo o complemento para 9, usada para representar números positivos e negativos na base 10.

Números Inteiros Com Sinal - Complemento para 2 Com 3 dígitos podemos representar números de 000 a 999 em decimal (1000 números). Procedemos à seguinte divisão: Os primeiros 500 são os positivos (de 0 a 499) Os restantes 500 são os negativos (de 500 a 999). Aqui dizemos que o número negativo é obtido subtraíndo do valor a 999. Por exemplo o 863 corresponde ao -136 (999-863 = 136)

Números Inteiros Com Sinal - Complemento para 2 Em binário o princípio é o mesmo mas chamado de complemento para 1. Usando 8 bits temos: De 00000000 a 01111111 são números positivos De 10000000 a 11111111 são números negativos

Números Inteiros Com Sinal - Complemento para 2 Como proceder para converter -95 10 em complemento para 1? -9510 em binário é -010111112 Em complemento para 1: 111111112-010111112 = 101000002 Efectuar esta operação acaba por equivaler a inverter todos os bits

Números Inteiros Com Sinal - Complemento para 2 Uma das limitações dos complementos para 9 e para 1 é que continuamos a ter uma representação redundante para a quantidade 0 (+0 e -0) Os complementos para 10 e para 2 resolvem este problema.

Números Inteiros Com Sinal - Complemento para 2 A representação em complemento para 10 e complemento para 2 é obtida adicionando 1 unidade no caso de números negativos. Assim, o número -108 10 é representado: em complemento para 9: 801 (999-108) em complemento para 10: 802 (1000-108)

Números Inteiros Com Sinal - Complemento para 2 Mais uma vez, em binário, a situação é em tudo semelhante. A representação em complemento para 2 pode ser obtida pela inversão do seu valor (complemento para 1) acrescido de uma unidade.

Números Inteiros Com Sinal - Complemento para 2 Como proceder para converter -86 10 em complemento para 2? -8610 em binário é -010101102 Em complemento para 1:101010012 Em complemento para 2:101010102 (10101001+1 = 10101010)

Números Inteiros Com Sinal - Complemento para 2 Qual será o valor decimal dos seguintes números sabendo que estão representados em complemento para 2? 11000100 2 11101011 2 00001101 2

Números Inteiros Com Sinal - Complemento para 2 11000100 - Inverter - 0111011 +1-0111100 - 6010

Números Inteiros Com Sinal - Complemento para 2 11101011 - Inverter - 0010100 +1-0010101 - 2110

Números Inteiros Com Sinal - Complemento para 2 00001101 + No caso do número ser positivo então a conversão é feita directamente! 2 3 + 2 2 + 2 0 8 + 4 + 1 = 13

Números Inteiros Operações em complemento para 2 As adições são sempre feitas da mesma maneira, independentemente do sinal das parcelas. A soma é feita de forma normal sendo que um carry (transporte) final é ignorado. É importante notar que, se numa soma onde o bit de sinal das parcelas é igual e o resultado tem sinal contrário ocorre um overflow, ou seja, ultrapassou-se a capacidade de representação de valores daquele número de bits.

Números Inteiros Operações em complemento para 2 Qual o resultado das seguintes operações? 00001101 (+13) + 11110111 (-9) 11110011 (-13) + 00001001 (+9) 11110011 (-13) + 11110111 (-9)

Números Inteiros Operações em complemento para 2 000011012 (+13) + 111101112 (-9) Ignoramos o último carry! 1000001002 410

Números Inteiros Operações em complemento para 2 111100112 (-13) + 000010012 (+9) 111111002 - Inverter -0000011 +1-0000100 -410

Números Inteiros Operações em complemento para 2 111100112 (-13) + 111101112 (-9) 1111010102 - Inverter -0010101 +1-0010110 -2210

Números Inteiros Operações em complemento para 2 Desta forma descobrimos um novo método para subtrair números binários. Para subtrair X a Y basta somar X com o complemento para 2 de Y, que é particularmente útil quando X < Y. Qual será o resultado das seguintes operações? 00101110 (46) - 01011011 (91) 01001101 (77) - 01011000 (88)

Números Inteiros Operações em complemento para 2 010110112 (+91) Primeiro convertemos em complemento para 2 101001012 (-91) Resultado em complemento para 2!!! 001011102 (+46) + 101001012 (-91) 110100112 Convertendo temos: -01011012-4510

Números Inteiros Operações em complemento para 2 010110002 (+88) Primeiro convertemos em complemento para 2 101010002 (-88) Resultado em complemento para 2!!! 010011012 (+77) + 101010002 (-88) 111101012 Convertendo temos: -00010112-1110

Representação de Números em Vírgula Flutuante

Introdução Notação Científica Consideremos o número decimal 12345. Sem alterarmos o valor podemos representá-lo de diversas formas: 1234 x 10 0 0,12345 x 10 5 1,2345 x 10 4 0,0012345 x 10 7

Introdução Notação Científica As representações anteriores não implicam perda de precisão. No entanto, a representação 0,00123 x 10 7 traduz-se num sacrifício de dois dígitos de precisão. Este tipo de representação é designada de notação exponencial ou notação científica.

Introdução Notação Científica Sinal do Expoente +0.12345 x 10 +20 Sinal Mantissa Os sinais podem ser omitidos no caso positivo! Base do Expoente Expoente

Representação de Números em Vírgula Flutuante Tal como os números inteiros, também os números de vírgula flutuante são armazenados e manipulados de acordo com um standard. Um múltiplo de 8 bits é usado como palavra. Se tivermos um número decimal representado por 7 dígitos decimais e um para sinal: SMMMMMMMMM

Representação de Números em Vírgula Flutuante Este formato permite representar qualquer inteiro na seguinte gama: -9999999 < número < +9999999 No caso da vírgula flutuante, uma representação pode ser: SEEMMMMM

Representação de Números em Vírgula Flutuante -0.91003 x 10 20 S MMMMM EE

Representação de Números em Vírgula Flutuante Neste formato, ao utilizarmos dois dígitos para o expoente ficamos com falta de um dígito para representar o sinal do expoente, a menos que abdicássemos de um deles. Uma forma comum de ultrapassar esta questão consiste em utilizar uma representação designada por excesso para 50.

Vírgula Flutuante Excesso para 50 Nesta representação 50 corresponde ao valor 0 no expoente. Para baixo de 50 estão os negativos e para cima os positivos. Assim, 46 representa um expoente de -4 e 53 representa um expoente de 3. Assim, com a notação SEEMMMMM e utilizando excesso para 50, os valores representados serão: -0,99999 x 10-50 < número < 0,99999 x 10 49

Vírgula Flutuante Normalização A normalização tem por objectivo maximizar a precisão possível, procurando-se armazenar os números com menor número possível de zeros à esquerda. Com a representação SEEMMMMM, a normalização pode ser feita da seguinte forma: 1. Se o número não tem um exponente, colocar expoente zero (x10 0 )

Vírgula Flutuante Normalização 2. Deslocar a parte decimal para a esquerda ou direita, aumentando ou diminuindo o expoente por forma a colocar o ponto decimal na posição correcta. 3. Corrigir a precisão, através da eliminação de dígitos ou adição de zeros no final. 4. Mudar a notação do expoente para excesso para 50.

Vírgula Flutuante Normalização Exemplo: Normalizar 246,8035 1. 246,8035 x 10 0 (acrescentou-se x 10 0 ) 2. 0,2468035 x 10 3 (deslocou-se 3 casas e aumentou-se o expoente) 3. 0,24680 x 10 3 (precisão para 5 dígitos) 4. O expoente 3 em excesso para 50 é 53. Resultado final: 05324680

Vírgula Flutuante Normalização Quais serão os valores a que correspondem os seguintes números representados na notação SEEMMMMM com expoente em excesso para 50? O sinal é 0 para positivo e 5 para negativo. 05324657 54810000 04925000

Introdução Notação Científica 05324657 = 0,24657 x 10 3 54810000 = -0,1 x 10-2 04925000 = 0,25 x 10-1

Vírgula Flutuante Normalização Usando o mesmo formato qual será a representação SEMMMMM dos seguintes números decimais? 19557-63,24-0,0234567

Vírgula Flutuante Normalização 19557 = 0,19557 x 10 5 = 05519557-63,24 = -0,63240 x 10 2 = 55263240-0,0234567 = -0,23456 x 10-1 = 54923456

Vírgula Flutuante Normalização Binária As regras vistas anteriormente para o sistema decimal podem ser aplicadas ao sistema binário. Um dos formatos mais comuns está associado à norma IEEE 754, para 32 e 64 bits. A representação para 32 bits é chamada de precisão simples e usa 1 bit para sinal, 8 bits para expoente e 23 bits para a mantissa.

Vírgula Flutuante Normalização Binária A precisão simples apresenta ainda as seguintes especificidades: O expoente é representado em excesso de 127; (127 + expoente) Utilizando os 23 bits de mantissa pode-se representar 24 bits como os números normalizados começam sempre por 1 esse bit nao é representado mas está implícito!!

Vírgula Flutuante Normalização Binária Exemplo: Representar 25375 em IEEE 754 precisão simples (32 bits). 1. 110001100011111(conversão para binário) 2. 1,10001100011111 x 2 14 (deslocou-se até obter 1. ) 3. 14 + 127 = 141 (excesso de 127 em base 10, que equivale a 10001101 em binário) 4. Ignora-se o 1 à esquerda do ponto. Resultado: 01000110110001100011111000000000

Vírgula Flutuante Normalização Binária Exemplo: Converter para decimal sabendo que está representado em IEEE 754, com 32 bits: 110000011101000000000000000000002 1. Sinal: 1, logo é negativo 2. Expoente: 100000112 = 13110 em excesso de 127, logo será expoente de 410 3. Mantissa: 10100000000000000000000 Resultado: -1,0102 x 2 4 = -110102 = -2610