Noções Básicas Sobre Erros Wellington D. Previero previero@utfpr.edu.br http://paginapessoal.utfpr.edu.br/previero Universidade Tecnológica Federal do Paraná - UTFPR Câmpus Londrina Wellington D. Previero Noções Básicas Sobre Erros 1 / 38 Sumário 1 Introdução 2 Sistemas de Numeração 3 Sistema de Ponto Flutuante Wellington D. Previero Noções Básicas Sobre Erros 2 / 38
1 Introdução 2 Sistemas de Numeração 3 Sistema de Ponto Flutuante Wellington D. Previero Noções Básicas Sobre Erros 3 / 38 Fases na Resolução de um Qual o comportamento da temperatura no resfriamento de uma cerveja num freezer de bar? Wellington D. Previero Noções Básicas Sobre Erros 4 / 38
Wellington D. Previero Noções Básicas Sobre Erros 5 / 38 Real Levantamento de Dados Real Levantamento de Dados Modelo Matemático Modelagem Modelo Matemático Modelagem Wellington D. Previero Noções Básicas Sobre Erros 6 / 38
Real Levantamento de Dados Real Levantamento de Dados Modelo Matemático Escolha do Método Modelo Matemático Escolha do Método Representação Representação Wellington D. Previero Noções Básicas Sobre Erros 7 / 38 Real Levantamento de Dados Real Levantamento de Dados Modelo Matemático Escolha do Método Computacional do Método Modelo Matemático Escolha do Método Computacional do Método Representação Representação Wellington D. Previero Noções Básicas Sobre Erros 8 / 38
Real Levantamento de Dados Cálculo Real Levantamento de Dados Cálculo Modelo Matemático Escolha do Método Computacional do Método Modelo Matemático Escolha do Método Computacional do Método Representação Representação Análise dos Resultados Obtidos Se Necessário: Reformular o Modelo Matemático ou Escolher um Novo Método Análise dos Resultados Obtidos Se Necessário: Reformular o Modelo Matemático ou Escolher um Novo Método Wellington D. Previero Noções Básicas Sobre Erros 9 / 38 Cálculo Escolha do Método Computacional do Método Representação Wellington D. Previero Noções Básicas Sobre Erros 10 / 38
1 Introdução 2 Sistemas de Numeração 3 Sistema de Ponto Flutuante Wellington D. Previero Noções Básicas Sobre Erros 11 / 38 Sistemas de Numeração Um sistema de numeração é um procedimento em que um conjunto de números são representados por numerais de uma forma consistente. Wellington D. Previero Noções Básicas Sobre Erros 12 / 38
Sistema de Numeração Decimal Wellington D. Previero Noções Básicas Sobre Erros 13 / 38 Sistema Vigesimal utilizado pelos maias; provavelmente tem a mesma origem que a base dez, no caso da base, somados os dedos das mãos aos dos pés. Wellington D. Previero Noções Básicas Sobre Erros 14 / 38
Sistema Sexagesimal criado pela civilização Suméria; motivo: grande quantidade de divisores de 60; método de contar as falanges dos dedos da mão direita, utilizando o polegar, totalizando doze falanges (três falanges em quatro dedos), com os cinco dedos da mão esquerda, contam-se as dúzias, totalizando cinco dúzias ou seja 60; utilizado nas medidas de ângulos e de tempos Wellington D. Previero Noções Básicas Sobre Erros 15 / 38 Qual o sistema de numeração utilizado pelo computador para efetuar cálculos? Wellington D. Previero Noções Básicas Sobre Erros 16 / 38
sistema de numeração em que todas as quantidades se representam com base em dois dígitos, o zero e um (0 e 1); em computação um dígito binário (0 ou 1) de recebe o nome de bit. Wellington D. Previero Noções Básicas Sobre Erros 17 / 38 Relembrando No sistema decimal temos 6572 = 2 10 0 + 7 10 1 + 5 10 2 + 6 10 3 Wellington D. Previero Noções Básicas Sobre Erros 18 / 38
Para o número abaixo no sistema vigesimal temos: 11 20 0 + 7 20 1 + 16 20 2 + 0 20 3 + 2 20 4 = 290311 (10) Wellington D. Previero Noções Básicas Sobre Erros 19 / 38 De maneira análoga, o número 100011 (2) na base 2 é representado no sistema decimal por Wellington D. Previero Noções Básicas Sobre Erros 20 / 38
Exercício 1 Escreva os números abaixo no sistema de representação decimal: a) 11100110 (2) b) 11011, 1 (2) c) 100001, 101 (2) Resposta a) 11100110 (2) = 230 b) 11011, 1 (2) = 55 2 c) 100001, 101 (2) = 269 8 Wellington D. Previero Noções Básicas Sobre Erros 21 / 38 Sistema de Numeração De um modo geral, um número na base β, (d j d j 1 d 1 d 0 ) (β), com 0 d j β 1, tem a sua representação na forma decimal dada por d j β j + d j 1 β j 1 + + d 1 β 1 + d 0 β 0 Wellington D. Previero Noções Básicas Sobre Erros 22 / 38
Exemplo 1 Converta o número 25 para o sistema binário. 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 2 1 12 0 25 = 11001 (2) Wellington D. Previero Noções Básicas Sobre Erros 23 / 38 Exercício 2 Converta os números abaixo para o sistema binário. a) 129 b) 281 Resposta a) 129 = 10000001 (2) b) 281 = 100011001 (2) Wellington D. Previero Noções Básicas Sobre Erros 24 / 38
Conversão de números fracionários para o sistema binário: Multiplicar a parte fracionária por 2; Deste resultado, a parte inteira será o primeiro dígito do número na base 2 e a parte fracionária é novamente multiplicada por 2; O processo é repetido até que a parte fracionária do último produto seja igual a zero. Wellington D. Previero Noções Básicas Sobre Erros 25 / 38 Exemplo 2 Escreva o número 0,1875 na base 2. 0, 1875 2 = 0, 375 0, 375 2 = 0, 75 0, 75 2 = 1, 5 0, 5 2 = 1, 00 0, 1875 = 0, 0011 (2) Wellington D. Previero Noções Básicas Sobre Erros 26 / 38
Exercício 3 Escreva os número abaixo na base 2. a) 0,25 b) 0,6 c) 21,4 Resposta a) 0, 25 = 0, 01 (2) b) 0, 6 = 0, 100110011001... (2) c) 21, 4 = 10101, 011001100110... (2) Wellington D. Previero Noções Básicas Sobre Erros 27 / 38 1 Introdução 2 Sistemas de Numeração 3 Sistema de Ponto Flutuante Wellington D. Previero Noções Básicas Sobre Erros 28 / 38
Sistema de Ponto Flutuante Arquitetura adotada para representar os dados numéricos; Essa representação baseia-se no deslocamento da vírgula (floating point) de forma que se obtenha um número menor ou próximo de 1. Tal deslocamento é feito por meio de notação científica. Wellington D. Previero Noções Básicas Sobre Erros 29 / 38 Sistema de Ponto Flutuante Exemplo 3 a) 78, 21 = 78, 21 10 0 = 7, 821 10 1 = 0, 7821 10 2 = 782, 1 10 1. b) Na base 2 11011 = 110, 11 2 2 = 110, 11 10 10 = 1, 1011 2 4 = 1, 1011 10 100 = 0, 11011 2 5 = 0, 11011 10 101. Wellington D. Previero Noções Básicas Sobre Erros 30 / 38
Sistema de Ponto Flutuante No sistema de ponto flutuante, um número real m será representado na forma onde: 0, d 1 d 2... d j β e } {{ } Mantissa β é a base em que o sistema opera; j é o número de dígitos da mantissa; 0 d j β 1 são os dígitos do sistema de numeração e d 1 0; e é o expoente da base, tal que e min e e max. Wellington D. Previero Noções Básicas Sobre Erros 31 / 38 Sistema de Ponto Flutuante Exemplo 4 Escreva os números abaixo no sistema de ponto flutuante: a) 674, 874 = 0, 674874 10 3 b) 12, 15 = 0, 1215 10 2 c) 0, 5248 = 0, 5248 10 0 d) 0, 008765 = 0, 8765 10 2 e) 1001, 11 (2) = 0, 100111 2 4 Wellington D. Previero Noções Básicas Sobre Erros 32 / 38
Sistema de Ponto Flutuante Numa máquina de calcular cujo sistema de representação utilizado tenha β = 2, j = 10 e 15 e 15, o número 25 será representado por 25 = 11001 (2) = 0, 11001 2 5 = 0, 11001 10 101 ou na forma compacta Wellington D. Previero Noções Básicas Sobre Erros 33 / 38 Sistema de Ponto Flutuante Exercício 4 Considere uma máquina que opera no sistema β = 2, j = 10 e 15 e 15. a) Qual o menor número positivo representado nessa máquina? b) Como seria a representação do número 0, 000008 (10)? c) Qual o segundo menor número positivo representado nessa máquina? d) Como seria a representação do número 0, 00001527 (10)? e) Qual o maior número positivo nesse sistema? f) Como seria a representação do número 50000? g) Represente o número 0, 6 (10) nessa máquina. Wellington D. Previero Noções Básicas Sobre Erros 34 / 38
Sistema de Ponto Flutuante Resposta a) 0, 1000000000 2 15 = 0, 1 10 1111 = 0, 0000152587890625 (10) b) Número a representar é menor que menor número possível de ser representado (Underflow). c) 0, 1000000001 2 15 = 0, 1000000001 10 1111 = 0, 00001528859138 (10) d) Como o número 0,00001527 não é representado nesse sistema, ele será representado por 0,00001528859138, pois é o valor que tem representação binária mais próxima. e) 0, 1111111111 2 15 = 0, 1111111111 10 1111 = 32736 (10) Wellington D. Previero Noções Básicas Sobre Erros 35 / 38 Sistema de Ponto Flutuante Resposta f) Número a representar é maior que o maior número possível de ser representado (Overflow). f) 0, 6 (10) = 0, 100110011001... 0, 1001100110 (2) 2 0 = 0, 5996093750(10) Wellington D. Previero Noções Básicas Sobre Erros 36 / 38
Para saber mais Nos links abaixo você encontrará alguns desastres causados por erros numéricos: www.sbmac.org.br/bol/bol-2/artigos/ariane5.html ta.twi.tudelft.nl/users/vuik/wi211/disasters.html Wellington D. Previero Noções Básicas Sobre Erros 37 / 38 O padrão IEEE 754 trata das normas a serem seguidas pelos fabricantes de computadores na utilização da aritmética binária para números de ponto flutuante. Padrão IEEE 754 para Aritmética Binária de Ponto Flutuante. Padrão IEEE 754 para números de Ponto Flutuante. Wellington D. Previero Noções Básicas Sobre Erros 38 / 38