REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

Documentos relacionados
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

Unidade III. Sistemas Numéricos e o Computador

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração

Aula 3 - Representação de Dados

Organização e Arquitetura de Computadores I

ELETRÔNICA DIGITAL I

Disciplina: Introdução à Engenharia da Computação

Cálculo Numérico Conceitos Básicos

Arquitetura e Organização de Computadores

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Arquitectura de Computadores I

Arquitetura e Organização de Computadores

ARQUITETURA DE COMPUTADORES

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários

ARQUITETURA DE COMPUTADORES

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Arquitetura e Organização de Computadores. Sistemas Numéricos

Organização de Computadores I

Infraestrutura de Hardware

Sistemas Digitais INE 5406

Introdução à Computação

Introdução à Computação

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.

Sistemas numéricos e a Representação Interna dos Dado no Computador

Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Sistemas de Numeração e Códigos

ELE 0316 / ELE 0937 Eletrônica Básica

Aula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr.

SISTEMA DE NUMERAÇÃO. Introdução a Informática. Vinícius Pádua

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

MATA49 Programação de Software Básico

Capítulo 2. Representação de números em vírgula flutuante

Aritmética dos Computadores

Introdução à Computação

Sistemas Numéricos e o Computador

Lista de Exercícios 110 Bases numéricas (lista adaptada das listas do prof. Tiago Dezuo)

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola

Aula 9: Estouro e Representação em Ponto Flutuante

Ponto Fixo e Ponto Flutuante

Sistemas de Computação. Representação em Ponto Flutuante

Estouro e Representação em Ponto Flutuante

Aula 9: Estouro e Representação em Ponto Flutuante

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos

Circuitos Lógicos. Prof. Odilson Tadeu Valle

Binários: Operações matemáticas

Sistemas Digitais Módulo 2 Representações com Sinal e Aritmética Digital

Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO

Introdução à Informática

Aproximações e Erros

Organização de Computadores

étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Números Binários. Apêndice A V1.0

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35.

Métodos Numéricos - Notas de Aula

SSC512 Elementos de Lógica Digital. Sistemas de Numeração. GE4 Bio

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

CIRCUITOS ARITMÉTICOS (Unidade 4)

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

2. E presse cada um dos seguintes números inteiros decimais na representação sinal e magnitude e complemento a 2, utilizando 8 bits Resposta:

Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

Estrutura de Dados Conceitos Iniciais

Cálculo Numérico. Conceitos Básicos

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números

CCI-22 CCI-22. Introdução e Motivação. Matemática Computacional. Conteúdo. Finalidade

Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:

Circuitos Lógicos Aula 22

Códigos Especiais. Tiago Dezuo DEE - Engenharia Elétrica CCT. ALB0001 Álgebra de Boole JOINVILLE

Representação de Números em Ponto Flutuante

ARQUITECTURA DE COMPUTADORES

Unidade 3 Aritmética Computacional Uma breve introdução

Base: número de símbolos empregados no sistema numérico.

Prof. Leonardo Augusto Casillo

1/50. Conceitos Básicos. Programa Básico

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35. e) 347 f) 513.

Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Aritmética de Inteiros

Números Binários Operações Aritméticas. Prof. Patrícia G. P. Magalhães

Sistemas Numéricos e Representação de Dados. Heitor S. Ramos

Organização de Computadores I

Sistemas de Computação

Cálculo Numérico Noções básicas sobre erros

Sistemas de Computação. Seção Notas. Valores Interessantes. Notas. Ponto Flutuante. Haroldo Gambini Santos. 26 de abril de 2010.

REPRESENTAÇÃO BINÁRIA. Sistemas de Numeração e Álgebra de Boole SNA0001

Universidade Federal do Espírito Santo - UFES

CCI-22 CCI-22. Introdução e Motivação. Matemática Computacional. Conteúdo. Finalidade. Carlos Henrique Q. Forster Conteúdo, Avaliação, Bibliografia

Sistemas de Numeração. Tiago Alves de Oliveira

Organização e Arquitetura de Computadores I

Aritmética de Ponto Fixo

Matemática Computacional. Edgard Jamhour

Aula 9. Aritmética Binária. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Prof. Leonardo Augusto Casillo

Sistemas de Computação

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Fundamentos de Arquiteturas de Computadores. Representação de números inteiros em complemento a 2

Capítulo V Sistemas Numéricos

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Sistemas de Numeração. Sistemas Decimal, Binário e Hexadecimal.

Transcrição:

REPRESENTAÇÃO DE DADOS Prof. Maicon A. Sartin mapsartin@gmail.com

Representação de Dados Sumário Introdução a Representação de Dados Complemento a 1 Aritmética em C1 Complemento a 2 Aritmética em C2 Aritmética em C1 Base Binária Aritmética em C2 Base Binária Aritmética em Sinal e Magnitude Representação de Dados (Ponto Flutuante)

Representação de Dados Definições importantes para numeros binários bit 1 dígito binário Nibble 4 dígitos binários Byte 8 dígitos binários MSB (most significant bit) bit mais significativo LSB (least significant bit) bit menos significativo

Representação de Dados Tipos de Dados Numéricos Ponto Fixo (Inteiros) Ponto Flutuante (Reais ou Fracionários) BCD (Representação decimal codificada em binário) Alfanuméricos Letras, números e símbolos (Codificados em ASCII)

Representação de Dados Representação de números inteiros (Computacionalmente) Números inteiros positivos e negativos Representação por sinal e magnitude Representação em complemento Facilita e torna mais eficiente a manipulação de operações aritméticas em computadores

Representação de Dados Dados Numéricos Os números podem ser positivos ou negativos Em binário são representados bit 0 sinal positivo bit 1 sinal negativo Valor decimal Valor binário com 8 bits (7 + bit de sinal) +9 00001001 (bit inicial 0 significa positivo) -9 10001001 (bit inicial 1 significa negativo) +127 01111111 (bit inicial 0 significa positivo) -127 11111111 (bit inicial 1 significa negativo)

Representação em sinal e magnitude Representação binária com um bit (MSB) p/ o sinal Magnitude é o valor absoluto Ex. 0100 = +4 1100 = -4 Sinal Magnitude 100 é a magnitude ou valor absoluto

Representação de Dados Sinal-módulo (bit de sinal); (método mais simples) Reserva-se um bit à esquerda do número Posição do algarismo mais significativo

Representação de Números em Complemento de 1(base-1 ou C1) Complemento é a diferença entre cada algarismo do número e o maior algarismo possível na base Vantagem: subtração entre dois números pode ser substituída pela sua soma em complemento. A representação de números positivos em complemento não tem alteração A representação de números negativos é obtida por: (base - 1) menos cada algarismo do número Ex.1 Ex.2 Ex.3 (base -1) ---> 999 FFFF 1111-297 - 3A7E -0011 Complemento---> 702 C581 1100 (C1)

ARITMÉTICA EM COMPLEMENTO DE 1 (BASE - 1) Soma-se os números e o número negativo estará representado por seu complemento Sinal e Complemento de 1 Verificação Magnitude (base-1) -418 581 (C1) 999 +123 +123-295 -295 704 704 999-418 581 (C1) Base Hexadecimal : 3142-54A7

ARITMÉTICA EM COMPLEMENTO DE 1 (BASE - 1) Exercícios de Fixação Faça o C1 dos números: -0101011 2-765 10-1B8 16 Resolva a aritmética em C1 Decimal Hexadecimal - 234-167 - 3AB +132 +360 +18A

REPRESENTAÇÃO DE NÚMEROS NEGATIVOS EM COMPLEMENTO DE 2 (C2) Calcula-se o complemento a (base -1) e depois soma-se 1 ao resultado EX.1 Ex.2 Ex.3 999 FFFF 1111-297 - 3A7E -0011 702 C581 1100 (C1) +0001 +0001 +0001 703 C582 1101 (C2)

ARITMÉTICA EM COMPLEMENTO DE 2 (C2) Soma-se os números e o número negativo será representado pelo seu complemento a base (C2) Sinal e Cálculo C2 C2 Verificação magnitude - 418 999 582 999 +123-418 + 123-295 - 295 581 705 (C2) 704 +001 +001 582 705 e a base binária?

ARITMÉTICA EM COMPLEMENTO DE 2 (C2) Exercícios de Fixação em C2 Faça o C2 dos números: 0101011 765 1B8 Resolva a aritmética em C2-234 - 167-3AB +132 +360 +18A

Representação de Números Binários Binário Inteiro positivo Sinal-magnitude C 1 C 2 0000 0 +0 0 0 0001 1 1 1 1 0010 2 2 2 2 0011 3 3 3 3 0100 4 4 4 4 0101 5 5 5 5 0110 6 6 6 6 0111 7 7 7 7 1000 8-0 -7-8 1001 9-1 -6-7 1010 10-2 -5-6 1011 11-3 -4-5 1100 12-4 -3-4 1101 13-5 -2-3 1110 14-6 -1-2 1111 15-7 -0-1

Representação de Dados Representação do limite dos números binários de 5 bits em complemento de 2

Caso Particular na base 2 (binária) Para se obter o complemento tem que ser feito: Complemento a 1 Inverte o número binário Complemento a 2 Soma 1 no complemento a 1

Caso Particular na base 2 (binária) Complemento de 2 Números negativos devem estar representados em complemento de 2 Quando a soma de dois números de n algarismos resulta em um valor com n+1 algarismos Overflow (transbordo de capacidade)

Caso Particular na base 2 (binária)

Caso Particular na base 2 (binária) Algoritmo da operação de adição em Complemento a 2 1.Somar os dois números, bit a bit, inclusive o bit do sinal 2.Desprezar o último vai 1 (se houver) 3.Se, simultaneamente, ocorrer vai 1 p/ o bit de sinal e p/ fora do número, ou se ambos não ocorrerem, o resultado está correto 4.Se ocorrer apenas um dos dois vai 1 o resultado está incorreto e ocorreu um overflow O overflow somente ocorre se ambos os números tiverem o mesmo sinal (pos ou neg) e o resultado tiver sinal oposto ao dos números

Caso Particular na base 2 (binária) Algoritmo da operação de adição em Complemento a 2 1.Existem 4 possibilidades indicadas no algoritmo 1.Carry p/ o bit de sinal e para fora do resultado (correto) 2.Nenhuma ocorrência de carry (correto) 3.Carry p/ o bit de sinal (incorreto) 4.Carry p/ o bit de fora do resultado (incorreto)

Caso Particular na base 2 (binária) 1. Carry p/ o bit de sinal e para fora do número Somar 1100 e 1101 representados em C2 (N os Neg.)

Caso Particular na base 2 (binária) 2. Nenhuma ocorrência de carry Somar 0001 e 0101 representados em C2 (N os Pos.) Quando os números são positivos para descobrir o valor em decimal apenas converte-se as bases 0001 (+1) + 0101 (+5) Não há nenhum carry

Caso Particular na base 2 (binária) 3. Carry p/ o bit de sinal Somar 0101 e 0110 representados em C2 (N os Pos.) 1 0101 (+5) + 0110 (+6) Carry para o bit de sinal e sem carry para fora

Caso Particular na base 2 (binária) 4. Carry p/ o bit de fora do resultado Somar 1010 e 1101 representados em C2 (N os Neg.) 1 Carry para o bit de fora do número, este é desprezado 1011 (-5) + 1100 (-4)

Caso Particular na base 2 (binária) Exercícios Faça a aritmética em complemento de 2 e verifique em qual das 4 possibilidades estão os resultados. Os números negativos já estão em complemento de 2. 0001 1101 0101 1001 + 0101 +1100 + 0100 +1010 Exercícios Faça o complemento de 2 quando necessário e resolva a aritmética em complemento de 2 com a verificação dos resultados. +2-6 -10-3 +4-2

Representação de Dados E os outros números Números muito grandes? (segundos/século) 3.155.760.000 (3,155760000 x 10 9 ) Números muito pequenos? (diâmetro atômico) 0,0000000110 (1,010 x 10-8 ) cm Racionais (padrão repetitivo) 2/3 (0,666666666...) Irracionais 21/2 (1,414213562373...) Todos representados em notação científica

Representação de Dados Notação Científica - Forma Normalizada: sem zeros à frente - Alternativas para se representar 1/1.000.000.000 Normalizada: 1,0 x 10-9 Não normalizada: 0,1 x 10-8 ou 10,0 x 10-10

Representação de Dados Notação Científica para números binários 2-1 A aritmética do computador que suporta isto é chamada de ponto flutuante representa números onde o ponto binário não é fixo, como é o caso dos inteiros. Declaramos tais variáveis como float em C.

Representação de Dados Ponto Flutuante Formato Normal: Bit de Sinal ± M x B ±e dois 8 bits 23 bits Expoente Mantissa ou significando ou Fração Bit de Sinal = ± Expoente = e 1 bit p/ sinal e 6 bits p/ Magnitude Mantissa = M Normalizada Base de exponenciação = B Representa números tão pequenos quanto 2,0 x 10-38 até tão grande quanto 2,0 x 10 38

Representação de Dados Ponto Flutuante Se o resultado for muito grande? (> 2,0x10 38 ) Overflow! Overflow => Expoente maior do que pode ser representado com os 8 bits do campo Expoente Se for muito pequeno? (< 2,0x10-38 ) Underflow! Underflow => Expoente negativo maior do que pode ser representado com os 8 bits do campo Expoente Como reduzir as chances de overflow ou underflow?

Representação de Dados Ponto Flutuante de Precisão Dupla Bit de Sinal 11 bits 52 bits Expoente Mantissa ou significando ou Fração Precisão Dupla (vs. Precisão Simples) Padrão IEEE 754 Variável C declarada como double Representa números quase tão pequenos quanto 2,0 x 10-308 e quase tão grandes como 2,0 x 10 308 Mas a vantagem principal é a maior precisão devido a um significando maior.

Representação de Dados Ponto Flutuante Formatos de Representações em Ponto Flutuante SISTEMA Total de bits Sinal Expoente Fração IEEE 754 precisão simples 32 1 8 23 IEEE 754 precisão dupla 64 1 11 52 IEEE 754 precisão estendida 80 1 15 64

Representação de Ponto Flutuante IEEE-754 - Exemplos?

Representação de Dados Um exemplo de operação com Ponto Flutuante Multiplicar 1,110 10 10 e 9,200 10-5 Passo 1: Somar o expoente. 10+(-5)=5 Passo 2: Multiplicar as mantissas: 1,110 x 9,200=10,212000 Passo 3: Normalizar o valor, e arredondar para o número de dígitos da mantissa. 10,212 x 10 5 = 1,0212 x 10 6 Passo 5: Definir o sinal, com base nos sinais dos operandos: +1,021 x 10 6

Representação de Dados Exemplo de Ponto Flutuante - Binário Números com fração Passo 1: Somar o expoente. 10+(-5)=5 6,625 10 Parte inteira: 6 10 = 110 2 Parte fracionária: 0,625 10 =?

Representação de Dados Separar a parte inteira do resultado Multiplicar a parte fracionária por 2 até obter 0 ou até chegar a um limite de bits 0,625 x 2 = 1,25 0,25 x 2 = 0,5 0,5 x 2 = 1,0

Representação de Dados Separar a parte inteira do resultado Multiplicar a parte fracionária por 2 até obter 0 ou até chegar a um limite de bits 0,625 x 2 = 1,25 0,25 x 2 = 0,5 0,5 x 2 = 1,0 110,101 2

Representação de Dados Potências de 2 2-1 = 0,5 2-2 = 0,25 2-3 = 0,125 2-4 = 0,0625 2-5 = 0,03125 2-6 = 0,015625 2-7 = 0,0078125 2-8 = 0,00390625 2-9 = 0,00195312 2 0 = 1 2 1 = 2 2 2 = 4 2 3 = 8 2 4 = 16 2 5 = 32 2 6 = 64 2 7 = 128 2 8 = 256

Representação de Dados Converta os valores abaixo para a base 2: 2,125 10 Converta os valores abaixo para a base 10: 11,1101 2

Referências STALLINS, W. Arquitetura e Organização de Computadores Projeto para o desempenho. Prentice Hall, 2003. pp. 289-333. TANEMBAUM, A. S. Organização Estruturada de Computadores. LTC, 2001. pp. 381-391. MONTEIRO, M. A. Introdução à Organização de Computadores. LTC, 2002. pp. 39-57;272-315. WANDERLEY, Juliana F. C. Ponto Flutuante. Curso de OAC na Graduação da UNB, 2002. Adalberto. Ponto Flutuante. Curso de AC I na Graduação da UCB, 2011.