Métodos Numéricos. Turma CI-202-X. Josiney de Souza. josineys@inf.ufpr.br



Documentos relacionados
Cálculo Numérico / Métodos Numéricos. Representação de números em computadores Mudança de base 14:05

CCI-22 CCI-22. 2) Erros de arredondamento. Matemática Computacional

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula

Aula 2 - Cálculo Numérico

Representando Instruções no Computador

Universidade Federal de São João Del Rei - UFSJ

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

Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina

Aritmética de Ponto Flutuante

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

Sistema de ponto flutuante

Sistemas de Numeração (Aula Extra)

Noções Básicas Sobre Erros

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

Sistemas de Computação

Universidade Federal de São Carlos Departamento de Matemática Curso de Cálculo Numérico - Turma E Resolução da Primeira Prova - 16/04/2008

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante.

Análise de Arredondamento em Ponto Flutuante

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

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.

Noções Básicas de Erros

Representação de números em máquinas

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

Notas de Cálculo Numérico

ANÁLISE NUMÉRICA DEC /97

Variáveis e Comandos de Atribuição

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Capítulo 1 - Erros e Aritmética Computacional

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

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

Unidade 5: Sistemas de Representação

Organização e Arquitetura de Computadores I

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

o semestre

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

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C

Primeiro roteiro de exercícios no Scilab Cálculo Numérico

2. Representação Numérica

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

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

UNIVERSIDADE ESTADUAL PAULISTA

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

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

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

CURSO de CIÊNCIA DA COMPUTAÇÃO - Gabarito

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA DISCUSSÃO DOS EXERCÍCIOS E CONSTRUÇÃO DE PROGRAMAS SEQUENCIAIS. Prof. Dr. Daniel Caetano

Arquitetura de Computadores

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Métodos Numéricos. Turma CI-202-D. Josiney de Souza.

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

Arquitetura e Organização de Computadores. Prof. Henrique

Capítulo 1. Introdução. 1.1 Sistemas numéricos

Métodos Numéricos - Notas de Aula

34 dígitos 28 dígitos 62 dígitos significativos! (base 10!)

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

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

Introdução aos Sistemas Computacionais

13 Números Reais - Tipo float

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

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagens de Programação

Capítulo 1 Erros e representação numérica

Sistemas de Vírgula Flutuante

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Sistemas de Numeração

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

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

ARITMÉTICA DE PONTO FLUTUANTE/ERROS EM OPERAÇÕES NUMÉRICAS

UNIMINAS Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: Sinal do expoente: -(na realidade, háh

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Matemática Computacional - Exercícios

ARQUITETURA DE COMPUTADORES

Programação Funcional. Aula 5. Funções Recursivas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.

CURSO E COLÉGIO APOIO. Professor: Ronaldo Correa

Aritmética com Maple:

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

1. Introdução 2. Representação de números 2.1. Conversão Numérica 2.2. Aritmética de ponto flutuante 3. Erros 3.1 Erros Absolutos e Relativos

Notas da disciplina Cálculo Numérico

3º Ano do Ensino Médio. Aula nº10 Prof. Daniel Szente

Critérios de Avaliação. Sobre a Disciplina. Por que estudar Arquitetura? SIM NÃO 20/04/ provas. 01 trabalho

Introdução à Física Computacional

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

Estruturas de Repetição

ARITMÉTICA. 1. Constantes Operadores e Funções

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Aula 6 Aritmética Computacional

Computador HIPO. Inicialmente vamos apresentar as unidades fundamentais de um computador:

Introdução à Arquitetura de Computadores: Uma Abordagem para Ponto Flutuante e Cache

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

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

Coordenadas Polares. Prof. Márcio Nascimento.

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

Programação: Tipos, Variáveis e Expressões

Representação de Dados

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Truques e Dicas. = 7 30 Para multiplicar fracções basta multiplicar os numeradores e os denominadores: 2 30 = 12 5

DISSERTAÇÃO DE MESTRADO. JFloat: Uma biblioteca de ponto flutuante para a linguagem Java com suporte a arredondamento direcionado

Transcrição:

Métodos Numéricos Turma CI-202-X Josiney de Souza josineys@inf.ufpr.br

Agenda do Dia Aula 3 (10/08/15) Aritmética de ponto flutuante Representação de ponto flutuante Normalização Binária Decimal Situações durante a representação

Ponto Fixo X Ponto Flutuante Em máquinas, usamos duas formas de representar números: Ponto fixo: para valores inteiros Ponto flutuante: para valores reais Em uma máquina de calcular ou computador digital, representa-se um número real com a aritmética de ponto flutuante

Representação de Ponto Flutuante x=±[ d 1 β +d 2 1 β +d 3 2 β +...+d ] t 3 β t βe β Base onde máquina opera d i d i números inteiros contidos no intervalo 0 (β-1); d 0 e expoente de β, assume valores I e S I, S limites inferior e superior para variação do expoente

Representação de Ponto Flutuante x=±[ d 1 β +d 2 1 β +d 3 2 β +...+d ] t 3 β t βe [ d 1 mantissa. Parte β +d 2 1 β +d 3 2 β +...+d ] t 3 β t do número que representa seus dígitos significativos t número de dígitos significativos dos sistema de representação, comumente chamado de precisão da máquina

Representação de Ponto Flutuante x=±[ d 1 β +d 2 1 β +d 3 2 β +...+d ] t 3 β t βe Representação 2: ±[. d 1 d 2 d 3...d t ] β e Representação 3: F (β, t, I, S)

Representação de Ponto Flutuante Exemplo 1: No sistema decimal, β = 10, tem-se: 0,125 10 =(1 10 1 +2 10 2 +5 10 3 ) 10 0 3,1415 10 =(3 10 1 +1 10 2 +4 10 3 +1 10 4 +5 10 5 ) 10 1 Deve-se normalizar os números

Normalização Decimal Normalização: Também chamada de notação científica Utilizada nas operações com ponto flutuante A mantissa é escrita entre 0 e 1 Exemplos: 3,1415 10,053

Normalização Decimal Normalização: Também chamada de notação científica Utilizada nas operações com ponto flutuante A mantissa é escrita entre 0 e 1 Exemplos: 3,1415 10,053 3,1415 = 0,31415 * 10 10,053 = 1,0053 * 10¹ = 0,10053 * 10²

Normalização Binária Normalização em base binária: Segue o mesmo raciocínio da base 10 Primeiro, converter o número decimal em binário Exemplos: 10 4

Normalização Binária Normalização em base binária: Segue o mesmo raciocínio da base 10 Primeiro, converter o número decimal em binário Exemplos: 10 4 10 = 1010₂ = 101,0 * 2¹ = 10,10 * 2² = 1,010 * 2³ = 0,1010 * 2⁴ 4 = 100₂ = 10,0 * 2¹ = 1,00 * 2² = 0,100 * 2³

Normalização Binária Exercício: Determinar a representação do número 25 em uma máquina de calcular cujo sistema de representação utilizado tenha Base: β = 2 Precisão (dígitos significativos): t = 10 Menor valor de expoente: I = -15 Maior valor de expoente: S = 15

Normalização Binária Exercício: Determinar a representação do número 25 em uma máquina F(2, 10, -15, 15) São necessários 16 bits nessa máquina: 10 bits para precisão (bits 1-10) 4 para expoente (bits 12-15) 1 para sinal da precisão (bit 0) 1 para sinal do expoente (bit 11) 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Normalização Binária Exercício: Determinar a representação do número 25 em uma máquina F(2, 10, -15, 15) Maior valor (32736): 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Menor valor (-32736): 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Normalização Binária Exercício: Determinar a representação do número 25 em uma máquina F(2, 10, -15, 15) Ainda, o valor de zero seria: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Próximo número positivo (0,000015259): 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Normalização Binária Exercício: Determinar a representação do número 25 em uma máquina F(2, 10, -15, 15) Segundo número positivo (0,000015289): 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Normalização Binária Através do exemplo, observa-se: Os números representáveis são um subconjunto dos números reais Subconjunto representável está dentro de um intervalo

Situações Durante as Representações Considerar: F(10, 3, -5, 5) Menor número em valor absoluto: m=0,100 10 5 =10 6 =0,000001 Maior número em valor absoluto: M = 0,999 * 10⁵ = 99900 Conjunto G = { x є R / m x M } Várias situações podem ocorrer...

Situações Durante as Representações Considerar: F(10, 3, -5, 5) Conjunto G = { x є R / m x M } 1: x є G 2: x < m 3: x > M

Situações Durante as Representações 1: x є G X está no conjunto representável Exemplo: 235,89 = 0,23589 * 10³ Número tem 5 dígitos na mantissa Máquina consegue representar 0,235 * 10³ e 0,236 * 10³ 0,235 * 10³ representação por truncamento 0,236 * 10³ representação por arredondamento

Situações Durante as Representações 2: x < m X está abaixo do limite inferior representável Exemplo: 0,345 10 7 Número não pode ser representado Expoente é menor que -5 Máquina acusa Underflow

Situações Durante as Representações 3: x > M X está acima do limite superior representável Exemplo: 0,875 * 10⁹ Número não pode ser representado Expoente é maior que 5 Máquina acusa Overflow

Situações Durante as Representações Algumas linguagens de programação permitem declarar variáveis de precisão dupla Variável ainda em aritmética de ponto flutuante, mas com aproximadamente o dobro de dígitos disponíveis na mantissa Nesse caso, o tempo de execução e requerimento de memória aumentam de forma significativa Em C/C++: float 32 bits; double 64 bits Em Pascal: real, double 32 bits; extended 64 bits

Próxima Aula Situações durante a representação de números Conceitos de erros: Absolutos Relativos De Arredondamento De Truncamento Propagação de erros