Capítulo 2. Computação Numérica

Tamanho: px
Começar a partir da página:

Download "Capítulo 2. Computação Numérica"

Transcrição

1 Capítulo 2. Neste capítulo serão considerados alguns aspetos básicos relativos ao cálculo numérico, como as representações de números inteiros e reais em código binário, e análise e representação dos erros que podem ocorrer em consequência do uso das referidas representações de números. 1. Cálculo numérico O Cálculo Numérico é uma metodologia para resolver problemas matemáticos através do computador, muito utilizada por engenheiros e cientistas. Uma solução obtida via Cálculo Numérico é sempre numérica, enquanto que os métodos analíticos fornecem normalmente o resultado em termos de funções matemáticas. Muito embora uma solução numérica seja uma aproximação do resultado exato, ela pode ser obtida com um elevado grau de exatidão. Uma solução numérica é calculada para problemas que não possuem solução analítica (comum nas equações diferenciais), embora os métodos analíticos forneçam, na maioria os casos, a resposta em termos de funções matemáticas. Mas, mesmo nestes casos, e quando o seu cálculo é muito caro (em tempo e recursos) pode-se obter uma solução numérica para o problema. Para computar (calcular por meio de um computador) uma solução numérica, são necessárias operações aritméticas (adição, subtração, multiplicação e divisão) e lógicas (comparação, conjunção, disjunção e negação). Considerando que estas são as únicas operações matemáticas que os computadores são capazes de realizar, então os computadores e o Cálculo Numérico formam uma combinação perfeita. Refira-se que o primeiro computador de grande porte totalmente eletrónico, o ENIAC (Electronic Numerical Integrator And Calculator), foi projetado para realizar cálculos balísticos, e os maiores supercomputadores atuais estão dedicados a realizar cálculos numéricos. 2. Representação de números 2.1. Representação de números em diferentes bases Nesta secção serão discutidos alguns métodos para a mudança de base na representação de números inteiros e reais. É comum, para grande parte dos computadores atuais utilizados na implementação computacional, o uso de uma base numérica distinta da base decimal. Em geral, os Computação Científica 21

2 Representação de números números são armazenados na base 2 (binária), existindo ainda plataformas que os armazenam na base 8 (octal) ou na base 16 (hexadecimal). A representação de números inteiros é ligeiramente distinta da representação de números reais Representação de números inteiros De uma forma geral, um número inteiro N é representado, na base b, por um conjunto de dígitos a i, em que a i = 0,1,, b-1 e i assume um intervalo de valores que depende da base em uso. A tabela seguinte indica estes valores para as bases mais utilizadas (onde se inclui a base decimal). b a i 2 0,1 8 0, 1, 2, 3, 4, 5, 6, , 1, 2, 3, 4, 5, 6, 7, 8, , 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Há pelo menos duas maneiras de se representar um número inteiro N: no sistema posicional e na forma polinomial. No sistema posicional os dígitos são agrupados na forma de uma sequência, na qual a magnitude da contribuição de cada dígito no número depende da posição relativa que ocupa no número. Neste sistema, um número N é escrito com o seguinte formato: N = (a n a n-1... a 1 a 0 ) b Na forma polinomial fica claramente explicitada a contribuição de cada dígito para o valor de um número. Nesta forma, um número N é escrito com o seguinte formato: N = a n b n + a n-1 b n a 1 b + a 0 Até aqui, N tem sido tratado de uma forma abstrata. No entanto, por uma questão evolutiva, N tende a ser visto como um número na base 10 (decimal), N = (a n a n-1... a 1 a 0 ) a n a n-1... a 1 a 0 Caso se passe a representar N sempre na base decimal, então deve-se abordar as outras representações do ponto de vista de conversões "de" ou "para" a base Representação de números reais É importante conhecer como os números reais podem ser armazenados num computador. Um número real pode ser representado usando dois formatos: com ponto fixo (por exemplo, 12.34); com ponto flutuante ou vírgula flutuante (por exemplo, x10 2 ) No formato com ponto fixo Na representação de um número real X no formato com ponto fixo, X é composto por uma parte inteira X i e uma fracionaria X f, tal que X f = X X i. Por exemplo: para X = 12.34, X i = 12 e X f = Computação Científica

3 Representação de números No formato com ponto flutuante A forma geral de representação de um número real no formato com ponto flutuante é semelhante à notação científica:.d 1 d 2 d 3... d p b e, em que d k (k = 1, 2,..., p) são os dígitos da parte fracionária (com d k { 0,..., b-1 } e d 1 0 (normalizado), b é o valor da base (geralmente 2, 8, 10 ou 16), p é o número de dígitos e e é um expoente inteiro. Deste modo, um número no formato com ponto flutuante é composto por três partes: o sinal, a parte fracionária (denominada também de significando ou mantissa) e o expoente. Estas três partes têm um comprimento total fixo que depende do computador e do tipo de número: precisão simples, dupla ou estendida. Note-se que, como a forma de representação de um número em formato com ponto flutuante pode ser diferente entre os fabricantes de computadores, um mesmo programa implementado em computadores que utilizam formatos diferentes pode fornecer resultados diferentes. O formato utilizado pela maioria dos computadores é o proposto pelo Institute of Electrical and Electronics Engineers (IEEE), com o padrão IEEE 754 (tabela que se segue, para a base binária). Propriedade Precisão Simples Dupla Estendida Comprimento total bits na mantissa bits no expoente sinal expoente máximo expoente mínimo maior número 3.40 x x x menor número 1.18 x x x dígitos decimais (precisão) Conversão de números inteiros Considere-se a conversão de um inteiro da base decimal (b = 10) para a base binária (b = 2), uma vez que esta será a representação mais provável num computador. Para se realizar esta conversão de uma maneira prática, pode-se usar o método das divisões sucessivas, no qual N (na base decimal) e os sucessivos quocientes q i são divididos por 2 (base binária), sendo guardados os restos r i { 0, 1 } até que o último quociente seja q n = 1: N = 2 q 1 + r 0 ; q 1 = 2 q 2 + r 1 ; q 2 = 2 q 3 + r 2 ;... ; q n-1 = 2 q n + r n-1 O último quociente somente será 0 se N = 0 (q n = 0 N = 0). Então, N = (q n r n-1... r 1 r 0 ) 2 (sistema posicional) Computação Científica 23

4 Representação de números N = q n 2 n + r n-1 2 n-1 + r n-2 2 n r r (forma polinomial) O mesmo método pode também ser utilizado para converter um número inteiro em decimal N para qualquer base b; divide-se N e os sucessivos quocientes q i por b, guardando-se os restos r i { 0,..., b-1 } até que o último quociente seja um inteiro q n { 1,..., b-1 }: N = b q 1 + r 0 ; q 1 = b q 2 + r 1 ; q 2 = b q 3 + r 2 ;... ; q n-1 = b q n + r n-1 O último quociente somente será 0 se N = 0 (q n = 0 N = 0). Então, N = (q n r n-1... r 1 r 0 ) b (sistema posicional) N = q n b n + r n-1 b n-1 + r n-2 b n r 1 b 1 + r 0 b 0 (forma polinomial) Conversão de números reais No formato com ponto fixo Para o estudo desta caso, considere-se a conversão de um real da base decimal para a base binária, sendo depois facilmente extensível para uma qualquer base. Dado um número real X, este possui uma parte inteira X i e uma parte fracionaria X f. Para se converter este número X na base binária utiliza-se o método das divisões sucessivas, para converter X i (ver secção 2.1.3), enquanto que para converter X f usa-se o método das multiplicações sucessivas. O método das multiplicações sucessivas consiste em multiplicar-se X f por 2, extraindo-se a parte inteira do resultado (que pode ser 0); o restante é novamente multiplicado por 2, repetindo-se o processo até que o resto fracionário seja 0 ou que se obtenha um padrão repetitivo, em cujo caso o número fracionário será periódico. Este método será ilustrado com dois exemplos. Exemplo 1: Seja X f = ; então x 2 = ; x 2 = ; x 2 = ; x 2 = Ou seja, = (0.1101) 2. Exemplo 2: Seja X f = 0.1; então 0.1 x 2 = 0.2; 0.2 x 2 = 0.4; 0.4 x 2 = 0.8; 0.8 x 2 = 1.6; 0.6 x 2 = 1.2; 0.2 x 2 = 0.4;... e o processo de multiplicações sucessivas repete a sequência infinita de dígitos Portanto, 0.1 = ( ) 2. Este caso mostra a dificuldade em se obter a representação de um número fracionário noutra base. Estes exemplos mostram que num computador, onde o espaço para representação de um número é finito, estes números terão que ser arredondados. 24 Computação Científica

5 Representação de números A forma polinomial de um número fracionário na base 2 é dada por: X f = Portanto, um número real X = X i + X f pode ser representado na base 2 por X = a n 2 n + a n-1 2 n-1 + a n-2 2 n a a X = (a n a n-1... a 1 a ) No formato com ponto flutuante Considere-se um hipotético computador com dois dígitos da parte fracionária (p = 2), base b = 2 e expoente e { -1, 0, 1, 2 }. Como os números reais são normalizados, isto é, d 1 0, todos eles são representados por: e ou e, e { 1, 0,1, 2}. Considerando a conversão de binário para decimal de um número positivo menor do que 1,.10 2 = = 1/ = 1/2, e.11 2 = = 1/ 2 + 1/ 4 = 3/ 4, então, os únicos números positivos representáveis neste computador são: = 1/ 2 1/2 = 1/ = 3/ 4 1/2 = 3/ = 1/ 2 1 = 1/ = 3/ 4 1 = 3/ = 1/2 2 = = 3/ 4 2 = 3/ = 1/2 4 = = 3/4 4 = 3 O zero é representado de uma forma especial: todos os dígitos d k da mantissa e do expoente são nulos (.00 2 x 2 0 ). O mais importante a reter relativamente aos números em formato com ponto flutuante é que eles são discretos e não contínuos (como um número real definido na Matemática). O conceito de existir sempre um número real entre dois números reais quaisquer não é válido para os números em formato com ponto flutuante. As consequências da falha deste conceito podem ser desastrosas, como se poderá verificar no exemplo que se segue. Considere-se as seguintes representações em binário: = e = Se estes dois números forem armazenados naquele hipotético computador (com dois dígitos para a mantissa), eles serão igualmente representados por:.10 2 x 2 0. Isto significa que tanto como são vistos como por aquele computador. Esta é uma das grandes causas da ocorrência de erros de arredondamento nos processos numéricos. Computação Científica 25

6 Representação de números Aritmética de ponto flutuante Se uma operação aritmética resultar num número que seja maior, em valor absoluto, que o maior número representável, ocorrerá overflow. Se resultar num número que seja menor, em valor absoluto, que o menor número representável diferente de zero, ocorrerá underflow. O modo de tratar overflow e underflow dependerá do compilador utilizado para gerar o programa executável. Para se analisar a precisão das operações numéricas envolvendo números em formato com ponto flutuante, considere-se um hipotético computador com dois dígitos (p = 2), base b = 10 e expoente e {-5,, 5}:.d 1 d 2 x 10 e. Quando dois números são somados ou subtraídos, os dígitos do número de menor expoente são deslocados de modo a alinhar as casas decimais. O resultado é depois normalizado (o expoente é ajustado de forma que d 1 0) e arredondado para dois dígitos (o tamanho da mantissa é p = 2). Exemplo 1: Os números são armazenados no formato especificado, as casas decimais são alinhadas e a operação de adição é efetuada; o resultado é então normalizado e arredondado para dois dígitos: =.43 x x 10-1 =.43 x x 10 1 =.4364 x x O resultado da adição é 4.4 em vez de Exemplo 2: Os números são armazenados no formato especificado, as casas decimais são alinhadas e a operação de adição é efetuada; o resultado é então normalizado e arredondado para dois dígitos: =.37 x x 10 3 =.37 x x 10 3 =.00 x x O resultado da subtração é 0 em vez de 1. A perda de precisão quando dois números aproximadamente iguais são subtraídos é das maiores fontes de erro nas operações de ponto flutuante. Exemplo 3: Os números são armazenados no formato especificado, as casas decimais são alinhadas e a operação de adição é efetuada; o resultado é então normalizado e arredondado para dois dígitos: =.69 x x 10 1 =.69 x x 10 3 =.6927 x x Computação Científica

7 Representação de números O resultado da adição é 690 em vez de O deslocamento das casas decimais de 2.71 causou uma perda total dos seus dígitos durante a operação. Exemplo 4: 1234 x Os números são armazenados no formato especificado e a multiplicação é efetuada utilizando 2p = 4 dígitos na mantissa; o resultado é então normalizado e arredondado para dois dígitos: 1234 x =.12 x 10 4 x.16 x 10-1 =.12 x 10 4 x.16 x 10-1 =.0192 x x O resultado da multiplicação é 19 em vez de Exemplo 5: 875 x 3172 Os números são armazenados no formato especificado e a multiplicação é efetuada utilizando 2p = 4 dígitos na mantissa. O resultado é então normalizado e arredondado; e = 7 > 5 overflow: 875 x 3172 =.88 x 10 3 x.32 x 10 4 =.88 x 10 3 x.32 x 10 4 =.2816 x 10 7 overflow (e {-5,, 5}). O resultado é superior ao maior número representável por este computador (e {-5,, 5}). Exemplo 6: Os números são armazenados no formato especificado e a divisão é efetuada utilizando 2p = 4 dígitos na mantissa, o resultado é então normalizado e arredondado para dois dígitos: =.18 x x 10 3 =.18 x x 10 3 =.3673 x x Exemplo 7: Os números são armazenados no formato especificado e a divisão é efetuada utilizando 2p = 4 dígitos na mantissa. O resultado é então normalizado e arredondado; e = -6 < -5 underflow: =.64 x x 10 4 =.64 x x 10 4 =.8767 x 10-6 underflow (e {-5,, 5}). O resultado obtido pela divisão é inferior ao menor número representável por este comutador (e {-5,, 5}), sem considerar o zero (que tem uma representação especial). Computação Científica 27

8 Representação de números Uma das causas de ocorrência de erros quando se usam computadores deve-se à conversão de base. Geralmente um número é fornecido ao computador na base 10, mas é armazenado na base 2. Para os números inteiros, a representação é exata, como por exemplo, = Para um número real com parte fracionária pode resultar num número binário com infinitos dígitos ( = ) que tem de ser arredondado para ser armazenado em formato com ponto flutuante Conversão de números na base b para a base decimal Conversão de números inteiros Para introduzir a conversão para a base decimal, será usada novamente a base binária como primeiro exemplo. Seja o número N, representado na base binária por N = (a m a m-1... a 1 a 0 ) 2 a sua representação na base decimal pode ser obtida simplesmente pela soma do polinómio N = a m 2 m + a m-1 2 m a a 0 A operacionalização desta soma pode ser obtida pelo Algoritmo de Horner e pela Divisão de Ruffini Algoritmo de Horner O número N pode ser obtido na base decimal através do cálculo da sequência: b m = a m b m-1 = a m x b m b m-2 = a m x b m b 1 = a x b 2 b 0 = a x b 1 e então, N = b 0 Exemplo: seja o número (11101) 2. Aplicando o algoritmo de Horner: b 4 = a 4 = 1 b 3 = a x b 4 = x 1 = 3 b 2 = a x b 3 = x 3 = 7 b 1 = a x b 2 = x 7 = 14 b 0 = a x b 1 = x 14 = 29 e então, (11101) 2 = Computação Científica

9 Representação de números Esta metodologia pode ser generalizada para converter qualquer número inteiro na base b para a base decimal. Considere o número N = (a m a m-1... a 1 a 0 ) b a sua representação na base decimal pode ser obtida da seguinte forma: c m = a m c m-1 = a m-1 + b x c m c m-2 = a m-2 + b x c m c 1 = a 1 + b x c 2 c 0 = a 0 + b x c 1 e então, N = c Divisão de Ruffini É equivalente ao método anterior, diferindo apenas na disposição dos coeficientes a i e b i : a m a m-1... a 2 a 1 a x b m... 2 x b 3 2 x b 2 2 x b 1 b m b m-1... b 2 b 1 b 0 e então, N = b 0 Exemplo: seja o número (11101) 2. Aplicando a Divisão de Ruffini: a 4 a 3 a 2 a 1 a x b 4 2 x b 3 2 x b 2 2 x b 1 2 x 1 2 x 3 2 x 7 2 x 14 b 4 b 3 b 2 b 1 b e então, (11101) 2 = Esta metodologia pode ser generalizada para converter qualquer número inteiro na base b para a base decimal. Considere o número N = (a m a m-1... a 1 a 0 ) b Computação Científica 29

10 Representação de números a sua representação na base decimal pode ser obtida da seguinte forma: a m a m-1... a 2 a 1 a 0 b b x c m... b x c 3 b x c 2 b x c 1 c m c m-1... c 2 c 1 c 0 e então, N = c Conversão de números reais fracionários Considere um número fracionário com representação finita na base binária: X f = (0.a 1 a 2 a n ) 2. O seu valor na base decimal será dado por X f = n 2 -n Esta soma pode ser calculada diretamente ou utilizando qualquer um dos dois métodos enunciados na secção anterior (Algoritmo de Horner e Divisão de Ruffini) com algumas modificações Algoritmo de Horner No caso de um número fracionário na base 2, o algoritmo fica b n = a n b n-1 = a n-1 + (1/2) x b n b n-2 = a n-2 + (1/2) x b n b 1 = a 1 + (1/2) x b 2 b 0 = (1/2) x b 1 e então, N = b 0 Exemplo: converter o número ( ) 2. b 5 = a 5 = 1 b 4 = a 4 + (1/2) x b 5 = 1 + (1/2) x 1 = 3/2 b 3 = a 3 + (1/2) x b 4 = 1 + (1/2) x (3/2) = 7/4 b 2 = a 2 + (1/2) x b 3 = 0 + (1/2) x (7/4) = 7/8 b 1 = a 1 + (1/2) x b 2 = 1 + (1/2) x (7/8) = 23/16 b 0 = (1/2) x b 1 = (1/2) x (23/16) = 23/32 e então, ( ) 2 = 23/32 = Computação Científica

11 Representação de números Divisão de Ruffini No caso de um número fracionário na base 2, o algoritmo fica a n a n-1... a 2 a 1 1/2 (1/2) x b m... (1/2) x b 3 (1/2) x b 2 (1/2) x b 1 E então, b n b n-1... b 2 b 1 b 0 N = b 0 Exemplo: Converter o número ( ) 2. Aplicando o algoritmo, fica: a 5 a 4 a 3 a 2 a /2 (1/2) x b 5 (1/2) x b 4 (1/2) x b 3 (1/2) x b 2 (1/2) x b 1 (1/2) x 1 (1/2) x (3/2) (1/2) x (3/4) (1/2) x (7/8) (1/2) x (23/16) E então, b 5 b 4 b 3 b 2 b 1 b / / / /16 23/32 1 3/2 7/4 7/8 23/16 23/32 ( ) 2 = 23/32 = Número binário infinito Uma outra situação que pode ocorrer é quando o número binário for infinito; por exemplo, através de uma sequência de dígitos periódicos: X f = ( 0,α 1 α 2... α n β 1 β 2...β m) 2 em que β 1 β 2...β m indica que a sequência de dígitos β 1 β 2...β m se repete infinitamente. Na base decimal, tal número é representado por X f = n 2 -n + b 1 2 -n-1 + b 2 2 -n b m 2 -n-m + + b 1 2 -n-m-1 + b 2 2 -n-m b m 2 -n-2m + + b 1 2 -n-2m-1 + b 2 2 -n-2m b m 2 -n-3m Note-se que este número pode ser escrito como X f = n 2 -n + ( b b b m 2 -m ) 2 -n + + ( b b b m 2 -m ) 2 -n-m + + ( b b b m 2 -m ) 2 -n-2m Computação Científica 31

12 Representação de números Ou seja, X f = n 2 -n + ( b b b m 2 -m ) 2 -n ( m + 2-2m + ) Usando agora a identidade, tem-se obtendo-se 1 / (1 x) = 1 + x + x 2 + x (para x < 1) m + 2 2m + 2 3m +... = 1/(1 2 m ) = 2m 2 m 1 (fazendo x = 2-m ), X f = ( α α α n 2 n ) + ( β β β m 2 m ) 2m n 2 m 1. As duas expressões entre parênteses têm a mesma forma e podem ser calculadas diretamente ou usando qualquer um dos métodos descritos anteriormente. Em geral, um número fracionário tem representação infinita periódica na base b da seguinte forma: X f = ( α 1 b 1 + α 2 b α n b n ) + ( β 1 b 1 + β 2 b β m b m ) bm n b m 1 onde as expressões entre parênteses podem ser calculadas diretamente ou utilizando qualquer um dos métodos descritos anteriormente Operações com números em binário Como a maioria dos computadores usa a base b = 2, então estes executam operações aritméticas com números que estão na representação binária. Para executar estas operações, as tabelas de operações que se seguem são automaticamente satisfeitas Adição binária Uma adição no sistema binário é realizada da mesma forma que a adição no sistema decimal, lembrando que, no sistema binário, há apenas 2 dígitos. Esta operação é realizada de acordo com as seguintes regras (considerando os dois operandos positivos): = = = = 0 (e vai 1 para o dígito de ordem superior) = 1 (e vai 1 para o dígito de ordem superior) Para somar números com mais de 2 algarismos, utiliza-se o mesmo processo de transporte para a coluna posterior, usado na adição decimal. Ter, no entanto, atenção aos limites das palavras. 32 Computação Científica

13 Representação de números Exemplo 1: = ( = 8 10 ) [1] [1] [1] Exemplo 2: = ( = 4 10 ) [1] [1] Exemplo 3: = ( = ) [1] [1] [1] Quando um dos operandos são números binários negativos, o processo a aplicar é o seguinte: dois operandos negativos: adicionam-se os dois números considerando o valor absoluto de cada um deles e atribui-se o sinal de negativo; um deles é negativo: verifica-se qual dos dois números tem maior valor absoluto, subtraí-se o menor valor absoluto ao maior e, atribui-se o sinal do maior em valor absoluto Subtração binária A subtração é análoga à adição, sendo realizada de acordo com as seguintes regras: 0-0 = = 1 (e pede emprestado 1 para o dígito de ordem superior) 1-0 = = 0 Desta forma, a operação 0-1 resulta em 1, mas com o transporte de 1 para a coluna à esquerda, que deve ser acumulado ao subtraendo e, por consequência, subtraído do minuendo (em a-b, a o minuendo e b é o subtraendo). Exemplo 1: = ( = 2 10 ) [1] Computação Científica 33

14 Representação de números Exemplo 2: = ( = 3 10 ) Exemplo 3: = ( = 1 10 ) Multiplicação binária [1] Procede-se como numa multiplicação no sistema decimal, de acordo com as seguintes regras: 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1 Utiliza-se o mesmo método que a multiplicação decimal: deslocamentos e adições. O número maior deve ser colocado por cima do menor. Exemplo 1: x = (5 10 x 3 10 = ) x Exemplo 2: x = (26 10 x 2 10 = ) x Computação Científica

15 Representação de números Exemplo 3: x = (10 10 x 8 10 = ) Divisão binária x A divisão binária usa o mesmo método que a divisão decimal: deslocamento e subtrações. Exemplo 1: = ( = ) [1] [1] [1] Representação de números em computadores digitais Nesta secção serão apresentadas algumas das representações usadas para armazenar números inteiros e reais na memória de um computador. As representações de números inteiros e reais apresentadas na secção anterior não são suficientes, pois é necessário distinguir-se, por exemplo, o sinal do número. Como não existe a representação de um sinal '+' ou '-' na memória de um computador, o recurso utilizado é acrescentar um bit, para computadores binários, ao número para representar o sinal; este bit é denominado bit de sinal Representação de números inteiros Para representar um número inteiro num computador digital, existem várias formas, tais como a representação em Sinal-Módulo e em Complemento à base. A representação em complemento pode ser de dois tipos: em complemento a (b-1) e em complemento a b (em que b é a base) Representação em Sinal-Módulo A representação mais direta de números inteiros é a denominada Sinal-Módulo (também denominada por Sinal-Magnitude). Nesta representação, o valor absoluto do número inteiro é obtido diretamente a partir dos algoritmos discutidos na secção anterior, enquanto que o sinal é representado por um dígito adicional colocado à esquerda do número. Computação Científica 35

16 Representação de números Quando a representação é binária, o bit de sinal ocupa a posição do bit mais significativo. Supondo que a memória do computador dispõe de q dígitos para a representação, um número inteiro na base b será representado no computador através da seguinte sequência de dígitos: a q-1 a q-2...a 1 a 0 em que { a 0, a 1,, a q-2 } { 0, 1,, b-2, b-1 } e a q-1 { 0, 1 } representa o sinal do número. Esta sequência de dígitos é denominada palavra. Por exemplo, no sistema binário convenciona-se usar a q-1 = 0 para + e a q-1 = 1 para -. A conversão do número internamente representado por a q-1 a q-2...a 1 a 0 para o sistema decimal é realizado através de uma fórmula semelhante à forma polinomial: em que, q 2 N = ( 1) a q 1 k=0 ( a k bk ), N o número inteiro na base decimal q-2 é o índice do dígito mais à esquerda que representa o valor absoluto de N b a base, às vezes denominada de radix (um inteiro maior que 1) a k um dígito válido na representação (a k { 0,..., b-1 }), k = 0, 1,, q-2 a q-1 { 0, 1 } e representa o bit de sinal Os valores em questão para as quantidades expressas na fórmula anterior dependem da arquitetura e do compilador utilizado. Por exemplo, um dado compilador possui 4 modelos de representação de inteiros com 1, 2, 4 e 8 bytes, também denominados de espécies. Sendo para todos os casos b = 2, o valor absoluto do maior número inteiro que pode ser representado internamente para cada p espécie N max, (p = 1, 2, 4, 8) é, a partir da fórmula anterior, p N max 8p 2 = 2 k = p 2 = 2 8p 1 1 = k=0 {127 (p=1) (p=2) (p=4) (p=8) Representação em complemento a b-1 A representação de números inteiros positivos em complemento a b-1 é idêntica à representação em Sinal-Módulo. A representação dos números inteiros negativos é obtida efetuando-se: (b - 1) menos cada algarismo do número. Por exemplo, para calcular o complemento a b-1 do número (como b = 10, então o complemento a b-1 será complemento a 9); como = 702, o complemento a 9 do número -297 é 702. Para se obter o complemento a b 1 de um número binário, deve-se subtrair cada algarismo de 1 (b - 1 = 1); no entanto, como se trata de números binários, para efetuar esta operação basta 36 Computação Científica

17 Representação de números inverter todos os bits. Por exemplo, o complemento a 1 (C1) do número (usando 4 dígitos) é , pois = A quantidade de números inteiros diferentes que se podem representar usando n posições num sistema de base b é b n. Por exemplo, na base 2, podem-se representar os seguintes números: 2 1 = 2 números com um dígito (0, 1), 2 2 = 4 números com dois dígitos (00, 01, 10, 11), 2 3 = 8 números com três dígitos (000, 001, 010, 011, 100, 101, 110, 111), A tabela seguinte apresenta a representação em C1 dos números binários de 4 dígitos. Repare como o espaço de representação da base 2 com 4 dígitos está sendo usado na representação em C1 (note que há 2 representações para o zero). Decimal (positivo) Binário em C1 (igual a sinal-módulo) Decimal (negativo) Binário em C A representação na base b = 10 com 3 dígitos varia de 000 a 999 (10 3 = 1000 representações), representando os números de -499 a -1 (faixa negativa que está compreendida entre 500 e 998) e de +1 a +499 (faixa positiva que está compreendida entre 1 e 499). O zero tanto pode ser representado por 000 como por 999. A faixa de representação em C1 dos números binários com n dígitos é a seguinte: menor inteiro negativo: -(2 n-1 1), maior inteiro positivo: 2 n-1 1. Na aritmética em complemento a b-1, basta somar os números, sendo que um número negativo será representado por seu complemento a b 1. Por exemplo, a soma decimal de 123 com -418 é: Sinal-Módulo = -295 Complemento a 9 (b-1) -418 é representado por = = = 295, em que 704 é o C9 de -295 (704 está na faixa negativa). De notar que nesta representação, a subtração (ou soma de um número positivo com um número negativo) transforma-se numa soma em complemento; isto é, a soma dos complementos do número Computação Científica 37

18 Representação de números positivo com o número negativo. Portanto, uma subtração pode ser realizada simplesmente através da soma dos números complementados : manter o número se é positivo e complementar o número se é negativo; depois, é só somar. Desta forma, pode-se constatar que o algoritmo da soma em complemento é muito mais simples que o da soma em Sinal-Módulo, uma vez que não requer nenhum teste. No entanto, continua-se com duas representações para o zero Representação em complemento a b A representação de números inteiros positivos em complemento a b é idêntica às representações em Complemento a b-1 e à em Sinal-Módulo. A representação dos números inteiros negativos em complemento a b é obtida subtraindo-se da base b cada algarismo do número. Por exemplo, na base b = 10 com 3 dígitos: 1000 x. Uma forma alternativa é subtrair cada algarismo de (b 1), isto é, calcular o complemento a (b -1), e depois somar 1 ao resultado. Ou seja, encontramos o complemento a (b - 1) do número (o que facilita muito no caso dos números binários) e depois soma-se 1 ao resultado. Por exemplo, calcular o complemento a 10 (base = 10) do número com 3 dígitos: usando C10: = 703; representar o número em C9 e somar 1 ao resultado: = = 703. Por exemplo, calcular o complemento a 2 (base = 2) do número com 4 dígitos: usando C2: = 1101; representar o número em C1 e somar 1: = = Desta forma, para representar um número binário negativo em complemento a 2 (C2) consiste em subtrair cada algarismo de 1 (C1) e depois somar 1 ao resultado. A tabela seguinte apresenta a representação em C2 dos números binários com 4 dígitos. Decimal (positivo) Binário em C2 (igual a sinal-módulo) Decimal (negativo) Binário em C Comparando com a tabela anterior (para C1), nota-se que os números positivos têm a mesma representação de C1 e que o zero passou a ter apenas uma representação, o que permitiu representar mais um número (neste caso, mais um negativo pode ser representado). 38 Computação Científica

19 Representação de números A faixa de representação em C2 dos números binários com n dígitos é a seguinte: menor inteiro negativo: -2 n-1, maior inteiro positivo: 2 n-1 1. Na aritmética em complemento a base, basta somar os números, sendo que um número negativo será representado pelo complemento a base. Deve-se ter, no entanto, cuidado com a possibilidade de acontecer overflow. Em qualquer sistema em C2, existe sempre um limite para o tamanho dos números a serem representados. Por exemplo, quando se usam palavras de 4 bits (um para o sinal), o valor 9 não tem associado qualquer palavra; por isso não se consegue uma resposta certa para a soma de 5 com 4 ( = 1001 que é -7). A adição de dois números no sistema de representação em C2 segue duas regras: 1. Somar os dois números e observar se ocorre transbordo (vai 1) sobre o bit de sinal e se ocorre o transbordo após o bit de sinal. 2. Se ocorrer um e somente um dos dois transbordos, então houve overflow; caso contrário o resultado da soma está dentro do campo de definição. As vantagens do uso do complemento de 2 é que existe apenas um zero e que as regras para soma e subtração são as mesmas. A desvantagem é o fato de ser um código assimétrico: o número de representações negativas é maior que o número de representações positivas. Por exemplo, com 8 bits podem-se representar, em complemento de 2, os números decimais entre -128 e A representação de um número inteiro num computador é exata. As operações aritméticas entre números inteiros também é exata, sob as seguintes condições: a) o resultado não pode estar fora do intervalo de números inteiros que se podem representar; b) a divisão somente pode ser realizada entre números exatamente divisíveis (isto é, a parte fracionária deve ser nula) Representação de números reais A representação de números reais em computadores denomina-se por representação de ponto flutuante normalizado, na qual um número é representado internamente através de uma notação científica: um bit de sinal s (interpretado como positivo ou negativo), um expoente inteiro exato e e uma mantissa inteira positiva M, sendo que apenas um número limitado de dígitos é permitido para e e M. Tomando todas estas quantidades juntas, estas representam o número x = s (0.d 1 d 2... d n ) b e o qual está escrito numa forma legível para os seres humanos. Além das quantidades já definidas na fórmula anterior, os dígitos d 1, d 2,, d n são limitados pela base b (0 d i b-1, i = 1,, n e d1 0) e o expoente é limitado ao intervalo e { e min,..., e max }. Para além disso, n 1 é denominado de número de dígitos do sistema e define o tamanho da mantissa M = 0.d 1 d 2...d n. Computação Científica 39

20 Representação de números O valor zero não pode ser normalizado e tem representação especial, com mantissa nula (todos dígitos iguais a zero) e expoente o menor possível (m 1). O conjunto formado pelo zero e por todos os números em notação de ponto flutuante é chamado Sistema de Ponto Flutuante na base b com n algarismos significativos, e denota-se por F(b, n, e min, e max ). Contudo, um computador apenas pode representar os valores de e e M através de dígitos na base b. Um computador digital (b = 2), por exemplo, dispõe sempre de um tamanho de palavra finito, isto é, o número total de bits que podem ser utilizados para representar o sinal s (1 bit), o expoente e a mantissa é sempre fixo, para um dado tipo de números reais. Um número real de precisão simples, por exemplo, é normalmente representado por uma palavra de 4 bytes (32 bits), sendo que 1 bit é utilizado para representar o sinal, 8 bits são utilizados para representar o expoente e os restantes 23 bits para representar a mantissa. Desta forma, tal número será representado na memória do computador como x = s e 7 e 6... e 1 e 0 d 1 d 2...d 22 d 23, em que s,e 0,...,e 7,d 1,...,d 23 { 0, 1 }. Exemplo: Considere-se dois números binários com 8 algarismos significativos em F(2, 8, -4, 5): n 1 = => (-1) 0 x 2 2 x ( ) = n 2 = => (-1) 0 x 2 2 x ( ) = Observe-se que, no sistema de representação utilizado, n 1 e n 2 são dois números consecutivos, ou seja, não podemos representar nenhum outro número que tenha valor intermédio. Portanto, por exemplo, a quantidade não tem representação exata neste sistema, sendo representada por n 1 ou n 2, o que gerará um erro, denominado Erro de Arredondamento. Assim, enquanto os números reais podem ser representados por uma reta contínua, em notação de ponto flutuante apenas se podem representar pontos discretos da reta real. A tabela que se segue ilustra representações de ponto flutuante para alguns números numa palavra típica de 32 bits (4 bytes), em F(2, 23, -128, 127). número decimal (base 10) binário (base 2) s expoente de 8 bits Mantissa de 23 bits 1/ (0) / (-1) (1) (2) Computação Científica

21 Representação de números A conversão de um número x representado na base b para a base decimal pode ser realizada pela seguinte fórmula polinomial: x = ( 1) s b e n k=1 ( d k b k ). No padrão IEEE 754, a sequência de 8 bits armazena o número E = e Desta forma, evita se o teste sobre o valor do bit para saber se o número é positivo ou negativo e, para recuperar o expoente, é realizada a operação e = E 127. Para se obter a forma como o expoente será armazenado pode-se também trabalhar na base 10 e converter depois o resultado final. Por exemplo, se e = vai-se armazenar = = É importante destacar que as sequências de bits para o expoente " " e " " são reservadas para representar o zero e infinito (ou ocorrência de erro, NaN: not a number) respetivamente. O maior expoente é representado pela sequência que, na base 10, representa o número (256 2) 10 = Então o maior expoente é: e = 254 e = = 127. O menor expoente é representado pela sequência = Daí que o menor expoente é: e = 1 e = = 126. Considerando agora a representação da mantissa. Como no sistema normalizado d 1 0 e dado que a base é 2, então primeiro dígito no sistema normalizado será sempre igual a 1 e por esta razão não é armazenado (é o denominado bit escondido). Esta normalização permite um ganho na precisão, pois pode-se considerar que a mantissa é armazenada em 24 bits. A tabela seguinte mostra os valores de n, e min, e max, X min, X max e X eps para um dado computador que usa o padrão IEEE 754. Espécie REAL (4) REAL (8) REAL (10) n e min e max X min x x x X max x x x X eps x x x Computação Científica 41

22 Representação de números Para uma base b qualquer, os números do sistema de ponto flutuante F = F(b, n, e min, e max ) contêm as seguintes características: O menor número positivo que pode ser representado neste sistema é x min = 0.1 b e min. Valores para x min válidos para o compilador são apresentados na tabela anterior. Isto significa que qualquer número x tal que x min < x < x min não poderá ser representado pelo computador. Esta ocorrência é denominada de underflow. Os compiladores podem ser instruídos para - terminar o processamento neste ponto, disparando uma mensagem de erro, ou - então seguir o processamento arredondando x = 0. O maior número positivo que pode ser representado neste sistema é x max = 0.(b 1)(b 1)...(b 1) n vezes b e max = (b 1) ( n k=1 b k) be max = (b 1)(1 b n ) b e max Isto significa que qualquer número x tal que x < -x max ou x > x max não poderá ser representado pelo computador. Esta ocorrência é denominada overflow. Os compiladores tomam normalmente duas possíveis providências quando detetam um overflow: - param o processamento do programa emitindo uma mensagem de erro, ou - continuam o processamento atribuindo a x o valor simbólico de -Infinito ou Infinito. O maior número que pode ser somado ou subtraído a 1.0, tal que o resultado permanece inalterado (isto é, a diferença entre 1.0 e o número que lhe sucede em F), é x eps = n vezes b b 1 = b 1 n n vezes em que x eps é denominada de epsilon da máquina, ϵ, ou de O epsilon da máquina, precisão da máquina. ϵ, também pode ser definido como o menor número de ponto flutuante, tal que: 1 + ϵ > 1. Esta quantidade que, como se pode ver, depende da base e do número de algarismos da mantissa, é da maior importância na análise de erros de arredondamento, como se verá mais adiante. De uma forma mais geral, para um número em ponto flutuante x ulp(x) = ( ) b x b e = b -n x b e = x b e. Em que ulp é a abreviatura para unit in the last place. F define-se Se x > 0, então ulp(x) é a distância entre x e o número que lhe sucede em F; se x < 0, então ulp(x) é a distância entre x e o número que o antecede em F. 42 Computação Científica

23 Representação de números Uma aproximação para o epsilon da máquina de um sistema de ponto flutuante de base b pode ser calculada com o seguinte algoritmo (assumindo que o arredondamento é para o mais próximo): 1 fazer / b 1 + enquanto ( 1) A interpretação é a seguinte: se x é uma potência negativa de b tal que x < ε então 1 + x = 1. O conhecimento de ε do sistema computacional ou máquina de calcular é fundamental. De facto, se considerarmos, por exemplo, a equação 1 + x = 1, esta admite muitas soluções em aritmética de ponto flutuante e não apenas x = 0. Apenas um conjunto finito R F de números racionais podem ser representados na forma Exemplo: apresentada. Os números neste conjunto são denominados números de ponto flutuante. Para uma representação normalizada (d 1 0), este conjunto contém precisamente 2(b 1) b n 1 ( e max e min + 1 ) + 1 números racionais. Considere o sistema de representação numérica de ponto flutuante F(2, 4, -5, 6). Neste sistema, o menor número positivo possível é: x min = (0.1000) = = 1 64 logo, a região de underflow consiste no intervalo 1 64 < x < 1 64 O maior número positivo possível é: x max = (0.1111) = (1 2 4 ) 2 6 = 60; logo, as regiões de overflow consistem nos intervalos x < 60 e x > 60. O maior número que pode ser somado ou subtraído de 1.0 e que mantém o resultado inalterado é: x eps = = 2 3 = 1 8. O número de elementos em R F é: 2 1 ( ) = 193. Computação Científica 43

24 Análise e Representação de Erros 3. Análise e Representação de Erros 3.1. Teorema do Valor Médio Para uma demonstração rigorosa da relação existente entre o crescimento ou decrescimento de uma função e o sinal da sua derivada, é necessário usar um resultado conhecido como Teorema do Valor Médio. Este teorema é um dos resultados mais importantes do cálculo diferencial, sendo usado, principalmente, na demonstração de outros teoremas. O Teorema do Valor Médio é a tradução matemática para factos que aparecem de forma vulgar em muitas situações da vida real. Por exemplo, se a média da velocidade numa viagem de automóvel entre duas cidades é de 80 km/h, então em algum momento da viagem o velocímetro do automóvel deve ter marcado 80 km. Vamos traduzir a afirmação anterior em termos matemáticos. Seja s(t) a posição do automóvel em cada instante de tempo t. Se a viagem começa em t = a (horas) e termina em t = b (horas), a velocidade média é dada por v m = s(b) s(a). b a A afirmação de que, em algum momento da viagem, a velocidade instantânea deve ser igual à velocidade média, significa que para algum instante de tempo c entre a e b tem-se v m = s(b) s(a) b a = v (c) = s '(c). O Teorema do Valor Médio estabelece as condições mínimas que uma função s deve satisfazer para que a igualdade acima seja verdadeira. Antes de se enunciar o Teorema do Valor Médio, enuncie-se um dos seus casos particulares que ficou conhecido como teorema de Rolle (Michel Rolle, ), que o demonstrou em Teorema de Rolle Considere-se uma função f satisfazendo as seguintes condições: 1) f é contínua no intervalo fechado [a, b] 2) f é derivável no intervalo aberto (a, b) 3) f(a) = f(b) Então, existe um valor c em (a, b) tal que, f'(c) = 0. O teorema de Rolle pode ser interpretado, geometricamente, da forma que a seguir se descreve. Seja f uma curva suave (contínua e derivável), não constante e que liga os pontos (a, f(a)) e (b, f(b)), tal que f(a) = f(b). Assim, se o gráfico de f sobe, então deverá descer, e vice-versa. Portanto, como a curva é suave, existe um ponto entre a e b onde o gráfico sofre uma inflexão (ponto de inflexão) e onde a reta tangente deve ser horizontal. 44 Computação Científica

25 Análise e Representação de Erros Teorema do Valor Médio Considere-se uma função f satisfazendo as condições: 1) f é contínua no intervalo fechado [a, b] 2) f e derivável no intervalo aberto (a, b) Então, existe um número c em (a, b), tal que f '(x) = f (b) f(a) b a O Teorema do Valor Médio pode ser interpretado, em termos geométricos, da forma que se segue. Seja f é uma função suave que liga os pontos A = (a, f(a)) e B = (b, f(b)). Então existe um ponto c, entre a e b, tal que a reta tangente ao gráfico de f em c é paralela à reta secante que passa por A e por B. A partir do Teorema do Valor Médio pode-se enunciar vários outros resultados (corolários). Para os corolários que a seguir se enunciam, considere-se f e g contínuas no intervalo fechado [a, b] e deriváveis em (a, b). Corolário 1 (Funções com derivada zero) Se f'(x) = 0 em (a, b), então f é uma função constante em [a, b], isto é, existe um número real k, tal que, f(x) = k, qualquer que seja o ponto x de [a, b]. Corolário 2 (Funções com derivadas iguais) Suponha que f'(x) = g'(x) para todo x no intervalo (a, b). Então, f e g diferem por uma constante, isto é, existe um número real k, tal que f(x) = g(x) + k, para todo x em [a, b]. Corolário 3 (Funções crescentes e decrescentes) i) Se f'(x) > 0 para todo x em [a, b], então f é uma função crescente em [a, b]. ii) Se f'(x) < 0 para todo x em [a, b], então f é uma função decrescente em [a, b]. Corolário 4 (Teorema do valor médio generalizado) Sejam f e g contínuas em [a, b] e deriváveis em (a, b) e suponha, além disso, que g'(x) 0 para a < x < b. Então, existe pelo menos um c em (a, b), tal que f '(c) f(b) f(a) = g'(c) g(b) g(a) Fontes de erros e incertezas Embora se procure sempre soluções exatas dos problemas reais, raramente este objetivo é atingido, devido há existência de erros e incertezas nos dados. Os erros e as incertezas nos dados podem ser introduzidos em cada etapa da formulação e da resolução dos problemas. Aqui será abordada a natureza das incertezas que surgem quando se procura a solução de um problema. Serão também examinados, com um certo grau de detalhe, os erros introduzidos pela computação numérica, destinada a determinar a solução de um problema. Computação Científica 45

26 Análise e Representação de Erros Neste documento, não serão considerados os erros triviais que podem ser evitados, tais como copiar uma fórmula incorretamente ou efetuar um erro de sintaxe na programação, embora tais erros ocorram e perfaçam uma fração considerável do esforço e do tempo despendidos em todo o processo de resolução de um problema matemático. Desta forma, esta secção tratará apenas dos erros que resultam de forma inevitável, dada a própria natureza da representação finita de números num computador e/ou da implementação numérica de um determinado cálculo. As incertezas introduzidas contaminam a solução e é importante tentar-se balanceá-las. Se a incerteza no modelo matemático é pequena, então não faz sentido a implementação de um modelo numérico e de um método que atinja muitos dígitos de precisão, por exemplo. No decurso do processo de resolução de um problema, as incertezas ocorrem em todas as fases deste processo Incerteza A tomada de decisões num contexto de incerteza é certamente uma das situações mais frequentes em problemas reais, nomeadamente no planeamento de atividades em diversos campos. A incerteza é uma característica intrínseca dos problemas reais surgindo de múltiplas origens e possuindo natureza distinta. A incerteza emerge da cada vez maior complexidade das interações no interior dos sistemas sociais, económicos e técnicos, caracterizados por uma rápida evolução tecnológica, alterações nas estruturas de mercado e de novas relações sociais. Geralmente, é impraticável que os modelos matemáticos possam capturar todos os fenómenos inter-relacionados relevantes presentes, chegar até toda a informação necessária e também dar conta das alterações e/ou hesitações relacionadas com a expressão das preferências de quem decide. A incerteza pode ser proveniente de diversas fontes ou ser classificada em diferentes tipos, não sendo, em geral, adequado representar probabilisticamente todas as formas de incerteza associada a modelos matemáticos, nomeadamente se a informação disponível é para tal insuficiente. Um modelo matemático associado a um sistema real pode incluir vários tipos de incerteza, a qual pode ocorrer nos dados do modelo, na precisão do modelo usado para descrever o sistema, ou na sequência de possíveis acontecimentos que podem ocorrer num sistema de acontecimentos discretos. A importância da construção de modelos que incorporem explicitamente a incerteza está no facto de a maioria dos problemas reais não poderem ser modelados deterministicamente. Algumas razões da necessidade deste tipo de modelos são as seguintes: 1) a natural incerteza das previsões relativas ao futuro; 2) a impossibilidade de medir os conceitos do mundo real com a precisão exigida pelo modelo matemático; 3) a impossibilidade de implementar uma solução com a precisão obtida através do modelo matemático; 46 Computação Científica

27 Análise e Representação de Erros 4) a natural e constante alteração do mundo real onde a solução é implementada; 5) o facto das expressões matemáticas associadas ao modelo serem apenas traduções aproximadas dos objetivos e das restrições do problema real. Apesar de na literatura existir diversas classificações para a incerteza, esta pode ser classificada em dois tipos: aleatória e epistémica. A incerteza aleatória descreve a variação associada ao sistema real, ou ambiente em consideração, em que esta variação é normalmente causada pela natureza aleatória dos dados associados ao problema, podendo ser representada matematicamente por uma distribuição de probabilidade, desde que os dados experimentais disponíveis sejam suficientes. Este é o tipo de incerteza que tem sido alvo de mais estudos, sendo uma propriedade inerente à modelação de sistemas (ou inserida no modelo para simular este comportamento) e que não pode ser reduzida. A incerteza epistémica está associada a um certo nível de ignorância, ou informação incompleta, do sistema ou do ambiente que o rodeia. Este tipo de incerteza é usada para descrever qualquer falta de conhecimento ou informação numa qualquer fase ou atividade do processo de modelação do sistema. As causas da incerteza influenciam o tipo de informação associada ao modelo usado no tratamento da incerteza para traduzir o sistema físico em análise. São várias e distintas as causas da incerteza: falta de informação, excesso de informação, provas em conflito, ambiguidade, medições e crença. A falta de informação é provavelmente a causa mais frequente da incerteza. Existem situações em que um decisor não tem qualquer informação acerca de qual dos possíveis estados naturais irá ocorrer. Noutras, o decisor conhece apenas as probabilidades de ocorrência dos vários estados. Uma outra situação é aquela em que ninguém tem ou quer reunir informação suficiente para construir uma descrição exata do acontecimento, embora isto possa ser possível. O excesso de informação deve-se ao facto de ser limitada a capacidade do Ser Humano em perceber e processar, simultaneamente, grande quantidade de dados. Em muitas situações, são disponibilizados mais dados do que aqueles que podem ser processados; noutras, os fenómenos que são transmitidos, definidos ou descritos com um grande número de características ou propriedades. Normalmente, estes dados são processados pelo analista que os transforma em dados percetíveis, ou que centra a sua atenção apenas nos aspetos que lhe parecem ser os mais importantes (que podem não ser para o decisor) e negligenciando todos os outros dados ou informação. Podem existir várias classes de informação (importante) disponível sobre um mesmo sistema, mas em que cada uma delas aponta para diferentes comportamentos do sistema (provas em conflito). Este conflito pode acontecer devido ao facto de parte da informação disponível ao analista estar errada (mas não identificável como tal por ele), das características da informação serem irrelevantes para o sistema, do modelo que o analista tem do sistema ser incorreto, etc.. Computação Científica 47

2. Representação e conversão de números

2. Representação e conversão de números Capítulo 2. Neste capítulo serão considerados alguns aspetos básicos relativos ao cálculo numérico, como as representações de números inteiros e reais em código binário, e análise e representação dos erros

Leia mais

Cálculo numérico Cálculo numérico - O Cálculo Numérico é uma metodologia para resolver problemas matemáticos através do computador. - Uma solução obti

Cálculo numérico Cálculo numérico - O Cálculo Numérico é uma metodologia para resolver problemas matemáticos através do computador. - Uma solução obti Tópicos Tópicos - Cálculo numérico - Representação e conversão de números - Representação de números em diferentes bases - Conversão de números da base decimal para uma qualquer base b - Conversão de números

Leia mais

Tópicos. - Cálculo numérico. - Representação de números. - Análise e representação de erros

Tópicos. - Cálculo numérico. - Representação de números. - Análise e representação de erros Tópicos Tópicos - Cálculo numérico - Representação de números - Representação de números em diferentes bases - Conversão de números da base b para a base decimal - Representação de números em computadores

Leia mais

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

étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA

Leia mais

Ponto Fixo e Ponto Flutuante

Ponto Fixo e Ponto Flutuante Ponto Fixo e Ponto Flutuante Arquitetura de Computadores Introdução (1/2) É trivial para um computador atual tratar e operar com números inteiros. Entretanto, em muitas aplicações do dia a dia é necessário

Leia mais

Universidade Federal do Espírito Santo - UFES

Universidade Federal do Espírito Santo - UFES Universidade Federal do Espírito Santo - UFES Centro Universitário Norte do Espírito Santo - CEUNES Departamento de Matemática Aplicada - DMA Prof. Isaac P. Santos - 2018/1 Aula: Erros e Aritmética de

Leia mais

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

Cálculo Numérico Noções básicas sobre erros Cálculo Numérico Noções básicas sobre erros Profa. Vanessa Rolnik 1º semestre 2015 Fases da resolução de problemas através de métodos numéricos Problema real Levantamento de Dados Construção do modelo

Leia mais

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

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também

Leia mais

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

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 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 Aritmética de ponto flutuante Erros em máquinas digitais Aula 1 - Introdução

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Aritmética Computacional Prof. Helcio Wagner

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Aritmética Computacional Prof. Sílvio Fernandes

Leia mais

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.

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. 1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513 g) 923 2. Converta para a base binária, usando os métodos

Leia mais

Home Programa Exercícios Provas Professor Links. 2.1 Representação de um número na base dois. O número binário 101,101 significa, na base dois:

Home Programa Exercícios Provas Professor Links. 2.1 Representação de um número na base dois. O número binário 101,101 significa, na base dois: Curso de Cálculo Numérico Professor Raymundo de Oliveira Home Programa Exercícios Provas Professor Links Capítulo 2 - Representação binária de números inteiros e reais 2.1 Representação de um número na

Leia mais

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

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35. Computação Científica Folha Prática Computação Numérica 1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513

Leia mais

Cálculo Numérico. Erros em processamento Numéricos

Cálculo Numérico. Erros em processamento Numéricos Cálculo Numérico Erros em processamento Numéricos Agenda Introdução a Erros Mudança de Base Erros de representação Erro de arredondamento Erro de absoluto Erro relativo Erro de truncamento Propagação do

Leia mais

1.1 Etapas na solução de um problema. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante.

1.1 Etapas na solução de um problema. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante. 1. Computação numérica 1.1 Etapas na solução de um problema. 1.2 Notação algorítmica. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante. Algoritmos Numéricos Cap.1: Computaç~ao numérica Ed1.0 c 2001

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Conceitos BásicosB (Parte II) Prof

Leia mais

Aula 3 - Representação de Dados

Aula 3 - Representação de Dados Aula 3 - Representação de Dados Marcos A. Guerine Universidade Federal Fluminense mguerine@ic.uff.br Na aula passada... História dos sistemas de numeração Bases de numeração Conversão entre bases Conversão

Leia mais

Estouro e Representação em Ponto Flutuante

Estouro e Representação em Ponto Flutuante Estouro e Representação em Ponto Flutuante Cristina Boeres Insituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

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

Aula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr. 11 Aula 11 A Informação e sua Representação Ponto-Flutuante Prof. Dr. Dilermando Piva Jr. Site Disciplina: http://fundti.blogspot.com.br/ Em alguns tipos de cálculo, a faixa de variação dos números envolvidos

Leia mais

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

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Como representar números em memória? Como representar números negativos e de ponto flutuante?

Leia mais

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

Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo: Computação Científica Folha Prática - Representação de Números e Erros 1. Representar os seguintes números decimais em binário com ponto fixo: a) 24 b) 197 c) 1001 d) 7,65 e) 8,963 f) 266,66 2. Obter os

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES Representação de Dados Professor: Airton Ribeiro de Sousa E-mail: airton.ribeiro@faciplac.edu.br 1 Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos da

Leia mais

Aritmética dos Computadores

Aritmética dos Computadores William Stallings Arquitetura e Organização de Computadores Capítulo 4 Aritmética dos Computadores Unidade Lógica e Aritmética Faz os cálculos lógicos e aritméticos. Tudo, num sistema computador, está

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES Representação de Dados Professor: Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 REPRESENTAÇÃO DE DADOS: SÍMBOLO: Marca visual ou gráfica que representa um objeto que desejamos identificar

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Representação de Números de Ponto Flutuante Aritmética

Leia mais

Métodos Numéricos - Notas de Aula

Métodos Numéricos - Notas de Aula Métodos Numéricos - Notas de Aula Prof a Olga Regina Bellon Junho 2007 1. Representação de números reais 1.1. Introdução Cálculo Numérico X Método Numérico CI202 - Métodos Numéricos 1 1. Representação

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Introdução à Computação A Informação

Leia mais

CCI-22. Erros Erros de arredondamento, representação e de cálculo

CCI-22. Erros Erros de arredondamento, representação e de cálculo CCI-22 Matemática Computacional Erros Erros de arredondamento, representação e de cálculo CCI-22 Tipos de erros Sistemas de ponto flutuante Arredondamentos Erros absolutos e relativos Dígitos significativos

Leia mais

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

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10. Sistemas de numeração e representação dos números Sistemas de Numeração e Somadores Binários I Base Numérica Um número em uma base qualquer pode ser representado da forma: N = An-1.B n-1 + An-2.B n-2 +...+

Leia mais

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

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração Sistemas de Numeração Sistemas de Numeração (Aula Extra) Sistemas de diferentes bases Álgebra Booleana Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Um sistema de numeração

Leia mais

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

Disciplina: Introdução à Engenharia da Computação Colegiado de Engenharia de Computação Disciplina: Introdução à Engenharia da Computação Aula 07 (semestre 2011.2) Prof. Rosalvo Ferreira de Oliveira Neto, M.Sc. rosalvo.oliveira@univasf.edu.br 2 Representação

Leia mais

CCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CCI-22 Matemática Computacional Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CCI-22 2) Erros de arredondamento Erros de representação e de cálculo CCI-22 Tipos de erros Sistemas de ponto flutuante

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Cálculo Numérico Conceitos Básicos

Cálculo Numérico Conceitos Básicos Cálculo Numérico Conceitos Básicos Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br MATERIAL ADAPTADO DOS SLIDES DA DISCIPLINA CÁLCULO NUMÉRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/ 1 Princípios usados

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Introdução à Computação A Informação

Leia mais

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

Aula 9: Estouro e Representação em Ponto Flutuante Aula 9: Estouro e Representação em Ponto Flutuante Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Estouro e Ponto Flutuante FAC 1 / 43 Revisão

Leia mais

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

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina Métodos Numéricos Erros Ponto Flutuante Professor Volmir Eugênio Wilhelm Professora Mariana Kleina Representação Numérica O conjunto dos números representáveis em qualquer máquina é finito, e portanto

Leia mais

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 9 Aritmética do computador slide 1 Unidade aritmética e lógica Faz os cálculos. Tudo o mais no computador existe para atender

Leia mais

CÁLCULO NUMÉRICO (CN)

CÁLCULO NUMÉRICO (CN) CÁLCULO NUMÉRICO (CN) OBJETIVO: O estudo dos métodos de resolução numérica de problemas de matemática. 1. INTRODUÇÃO: A resolução de problemas envolve várias fases que podem ser assim estruturadas: Problema

Leia mais

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

Aula 9: Estouro e Representação em Ponto Flutuante Aula 9: Estouro e Representação em Ponto Flutuante Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda

Leia mais

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material de Fernanda Passos

Leia mais

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

Sistemas numéricos e a Representação Interna dos Dado no Computador Sistemas numéricos e a Representação Interna dos Dado no Computador Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: http://www.inf.ufsc.br~silveira Material elaborado pelo prof

Leia mais

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

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante Prof. Volmir Wilhelm Curitiba, 2015 Representação Numérica No sistema decimal X (10) = d 3 d 2 d 1 d 0 (número inteiro de 4 dígitos)

Leia mais

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

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola Aritmética Binária e Complemento a Base Introdução ao Computador 2010/1 Renan Manola Sumário Soma e multiplicação binária; Subtração e divisão binária; Representação com sinal; Complemento a base. Adição

Leia mais

Erros, Precisão Numérica e Ponto Flutuante

Erros, Precisão Numérica e Ponto Flutuante Capítulo 3 Erros, Precisão Numérica e Ponto Flutuante No capítulo anterior introduzimos o conceito de variável em programação. Uma variável é basicamente um nome usado para se referir a algum conteúdo

Leia mais

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

Índice de conteúdos. Índice de conteúdos. Capítulo 2. Representação de Números e Erros...1. 1.Representação de números em diferentes bases... Índice de conteúdos Índice de conteúdos Capítulo 2. Representação de Números e Erros...1 1.Representação de números em diferentes bases...1 1.1.Representação de números inteiros e conversões de base...1

Leia mais

Representação e erros numéricos

Representação e erros numéricos Representação e erros numéricos Marina Andretta ICMC-USP 29 de fevereiro de 2012 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta (ICMC-USP) sme0500 - cálculo numérico

Leia mais

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

Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215 Cálculo Numérico - Mat 215 Prof. Dirceu Melo Prof. Dirceu Melo - MAT215 1 1ª AULA Introdução Sistemas Decimal e Binário Conversão de Sistemas de base Sistema Aritmético de Ponto Flutuante INTRODUÇÃO 3

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Eduardo Albuquerque Adaptado do material do Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 Representação de Dados e Aritmética Computacional Roteiro Números inteiros

Leia mais

Erros e Aritmética de ponto flutuante

Erros e Aritmética de ponto flutuante Cálculo Numérico Noções básicas sobre erros Aritmética de ponto flutuante Prof. Daniel G. Alfaro Vigo dgalfaro@dcc.ufrj.br DCC IM UFRJ Parte I Noções básicas sobre erros Introdução Validação Modelagem

Leia mais

Aproximações e Erros

Aproximações e Erros Aproximações e Erros Lucia Catabriga e Andréa Maria Pedrosa Valli Laboratório de Computação de Alto Desempenho (LCAD) Departamento de Informática Universidade Federal do Espírito Santo - UFES, Vitória,

Leia mais

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

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin 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

Leia mais

Conceitos e Princípios Gerais

Conceitos e Princípios Gerais Conceitos e Princípios Gerais Conceitos e Princípios Gerais Fases na resolução de problemas físicos Resolução do Modelo Matemático Conceitos Básicos de Cálculo Numérico Erros em Processos Numéricos Fases

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Aula 6 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte6.html Organização de Computadores I Aula 6 1/17 Tópicos Representação de números não-inteiros.

Leia mais

Representação e erros numéricos

Representação e erros numéricos Representação e erros numéricos Marina Andretta / Franklina Toledo ICMC-USP 25 de fevereiro de 2015 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta / Franklina Toledo

Leia mais

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF)

Leia mais

ELETRÔNICA DIGITAL I

ELETRÔNICA DIGITAL I ELETRÔNICA DIGITAL I Parte 2 Aritmética Digital Professor Dr. Michael Klug 1 Sistema Decimal: Sistema Binário: Adição Binária carry 1 472 246 718 A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S=AB C=carry 2

Leia mais

Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.

Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações. CÁLCULO NUMÉRICO Cálculo Numérico Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações Problema Físico Modelo Matemático Solução Cálculo Numérico

Leia mais

Representação e erros numéricos

Representação e erros numéricos Representação e erros numéricos Marina Andretta ICMC-USP 27 de fevereiro de 2013 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta (ICMC-USP) sme0500 - Cálculo Numérico

Leia mais

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

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano. CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano aratadano@utfpr.edu.br Aula 2 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:

Leia mais

Representação e erros numéricos

Representação e erros numéricos Representação e erros numéricos Marina Andretta/Franklina Toledo ICMC-USP 03 de Agosto de 2012 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta/Franklina Toledo (ICMC-USP)

Leia mais

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

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 21 Representação de Números em

Leia mais

Infraestrutura de Hardware

Infraestrutura de Hardware Infraestrutura de Hardware Aritmética Computacional Universidade Federal Rural de Pernambuco Professor: Abner Corrêa Barros abnerbarros@gmail.com Desde os primórdios da sua história os homens tem se deparado

Leia mais

Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO

Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO 1 Sumário 1. Sistema Numérico 2. Notação Posicional Sistema Decimal Sistema Binário Sistema Octal Sistema Hexadecimal 3. Conversão entre Bases 4. Operações

Leia mais

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

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano. CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano aratadano@utfpr.edu.br Aula 2 08/2014 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:

Leia mais

Sistemas de Computação

Sistemas de Computação Sistemas de Computação Práticas Laboratoriais Semana 2 Prof. Bruno Medeiros Prof. Antonio Pina Sumário Sistemas de numeração e conversão de bases Operações aritméticas e lógicas em base 2 Representação

Leia mais

Estudo de erros Erros na fase de modelagem: 1.2. Erros na fase de resolução:

Estudo de erros Erros na fase de modelagem: 1.2. Erros na fase de resolução: MATEMÁTICA ICET UFMT Clculo Numrico Licenciatura Plena em Matemática Prof. Geraldo Lúcio Diniz Estudo de erros 1. Introdução A obtenção de uma solução numérica para um problema físico por meio da aplicação

Leia mais

Números binários e erros

Números binários e erros Números binários e erros Alan Costa de Souza 14 de Agosto de 2017 Alan Costa de Souza Números binários e erros 14 de Agosto de 2017 1 / 1 Introdução Calcular a área de uma circunferência de 100 m de raio.

Leia mais

Capacidade de Armazenamento. Bit. Binário para Decimal. Decimal para Binário. Operações Aritméticas no Sistema binário.

Capacidade de Armazenamento. Bit. Binário para Decimal. Decimal para Binário. Operações Aritméticas no Sistema binário. Bit = BInary digit Bit Menor unidade de dado, física e/ou sua representação lógica, em um computador digital. Desligado = 0 Ligado = Capacidade de Armazenamento byte = 8 bits Byte(B)...B KiloByte(KB)...024Bou2

Leia mais

Modelagem Computacional. Parte 1 2

Modelagem Computacional. Parte 1 2 Mestrado em Modelagem e Otimização - RC/UFG Modelagem Computacional Parte 1 2 Prof. Thiago Alves de Queiroz 2/2016 2 [Cap. 1] BURDEN, R. L.; FAIRES, J. D. Numerical Analysis (9th ed). Cengage Learning,

Leia mais

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

Números Binários. Apêndice A V1.0 Números Binários Apêndice A V1.0 Roteiro Histórico Números de Precisão Finita Números Raiz ou Base Conversão de Base Números Binários Negativos Questões Histórico As maquinas do século XIX eram decimais

Leia mais

Cálculo Numérico Faculdade de Ciências Sociais Aplicadas e Comunicação FCSAC Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Cálculo Numérico Faculdade de Ciências Sociais Aplicadas e Comunicação FCSAC Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Cálculo Numérico Faculdade de Ciências Sociais Aplicadas e Comunicação FCSAC Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Prof. Dr. Sergio Pilling (IPD/ Física e Astronomia) REVISÃO DA 1ª PARTE

Leia mais

Aritmética em Bases Não Decimais

Aritmética em Bases Não Decimais Aritmética em Bases Não Decimais Cristina Boeres Insituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material cedido por Fernanda Passos (IC/UFF) Aritmética em Bases Não Decimais FAC

Leia mais

Erros em computações numéricas

Erros em computações numéricas Erros em computações numéricas Sérgio Galdino 1 2 1 POLI-UPE Escola Politécnica Universidade de Pernambuco 2 UNICAP Universidade Católica de Pernambuco Disciplinas: (1)Cálculo Numérico - (2)Cálculo Numérico

Leia mais

Lista de Exercícios Sistemas de Numeração

Lista de Exercícios Sistemas de Numeração Lista de Exercícios Sistemas de Numeração 1- (Questão 52 BNDES Profissional Básico Análise de Sistemas - Suporte ano 2010) Um administrador de sistemas, ao analisar o conteúdo de um arquivo binário, percebeu

Leia mais

Matemática Computacional. Edgard Jamhour

Matemática Computacional. Edgard Jamhour Matemática Computacional Edgard Jamhour Definição A matemática computacional é uma área da matemática e da computação que trata do desenvolvimento de modelos matemáticos, para o tratamento de problemas

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Aritmética de Ponto Flutuante. 1. Da aritmética de Inteiros a aritmética de Pontos Flutuantes : Números inteiros deixam de representar uma parte

Leia mais

Método Analítico. Método Numérico

Método Analítico. Método Numérico UFRN/CT/DCA Nota de Aula Introdução aos Métodos Computacionais e Estudo dos Erros Prof Anderson Cavalcanti Métodos Computacionais Contextualização Muitos problemas de engenharia consistem em obter uma

Leia mais

Aula 4: Bases Numéricas

Aula 4: Bases Numéricas Aula 4: Bases Numéricas Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda Passos (UFF) Bases Numéricas

Leia mais

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

Capítulo 2. Representação de números em vírgula flutuante Capítulo 2 Representação de números em vírgula flutuante Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Números inteiros Os computadores foram

Leia mais

Lista de Exercícios 1

Lista de Exercícios 1 Lista de Exercícios 1 MAT 01169 - Cálculo Numérico 2 de Agosto de 2015 As respostas de alguns exercícios estão no final da lista. Exercício 1. Converta para binário os números abaixo: (a) (102) 10 = (b)

Leia mais

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

Sistemas Digitais Módulo 2 Representações com Sinal e Aritmética Digital Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 2 Representações com Sinal e Aritmética Digital Graduação em Sistemas de Informação Prof. Dr. Daniel A. Furtado Prof.

Leia mais

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

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Circuitos Lógicos Capítulo 9 Aritmérica Digital: Operações e Circuitos Prof. Erivelton Geraldo Nepomuceno http://www.ufsj.edu.br/nepomuceno nepomuceno@ufsj.edu.br

Leia mais

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

SISTEMA DE NUMERAÇÃO. Introdução a Informática. Vinícius Pádua SISTEMA DE NUMERAÇÃO Introdução a Informática Sistema de Numeração Métodos científicos para representar os números Tipos Notação não posicional ou Posicional Difere se o algarismo tem valor fixo ou não

Leia mais

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

CCI-22 CCI-22. Introdução e Motivação. Matemática Computacional. Conteúdo. Finalidade Matemática Computacional Introdução e Motivação Carlos Henrique Q. Forster (a partir dos slides de Carlos Alonso) Conteúdo, Avaliação, Bibliografia Conteúdo Finalidade Em muitas universidades, este curso

Leia mais

Unidade III. Sistemas Numéricos e o Computador

Unidade III. Sistemas Numéricos e o Computador III.1 - O Sistema Decimal - Base: 10 - Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Unidade III Sistemas Numéricos e o Computador Raimundo G. Nóbrega Filho - UFPB - CCEN - DI Notas de aula da disciplina Introdução

Leia mais

Representação e Aritmética em Ponto Flutuante. 35T12 Sala 3G4 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227

Representação e Aritmética em Ponto Flutuante. 35T12 Sala 3G4 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 Representação e Aritmética em Ponto Flutuante 35T12 Sala 3G4 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 Sistemas de Representação de Números no Computador Representação de números inteiros Dado um

Leia mais

INTRODUÇÃO. O processo de modelagem matemática para resolver problemas reais pode ser visto pelas seguintes etapas: Escolha de um Método Adequado

INTRODUÇÃO. O processo de modelagem matemática para resolver problemas reais pode ser visto pelas seguintes etapas: Escolha de um Método Adequado 1 Métodos Numéricos INTRODUÇÃO O Cálculo Numérico, entendido com uma coletânea de métodos numéricos, consiste de uma poderosa ferramenta que nos auxilia na obtenção de soluções numéricas, em geral aproximadas,

Leia mais

6.Elaboração de algoritmos...13

6.Elaboração de algoritmos...13 Índice de conteúdos Capítulo 1. Computação Científica...1 1.Definição...1 2.Modelo genérico...2 3.Modelo matemático...2 4.Tipos de modelos matemáticos...3 5.Modelação matemática...5 5.1.Definição (formulação)

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Representação de Números em Ponto Flutuante

Representação de Números em Ponto Flutuante Representação de Números em Ponto Fixo char 8, short 16, int 32, long 32, long long 64 Números de 31 bits + sinal 2 31 < n < +(2 31 1) Números positivos de 32 bits 0 < n < +(2 32 1) Representam 2 32 quantidades

Leia mais

Aula 4: Bases Numéricas

Aula 4: Bases Numéricas Aula 4: Bases Numéricas Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Bases Numéricas FAC 1 / 36 Introdução e Justificativa Diego Passos (UFF)

Leia mais

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

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários Graduação em Sistemas de Informação Prof. Dr. Daniel A. Furtado

Leia mais

1 bases numéricas. capítulo

1 bases numéricas. capítulo capítulo 1 bases numéricas Os números são representados no sistema decimal, mas os computadores utilizam o sistema binário. Embora empreguem símbolos distintos, os dois sistemas formam números a partir

Leia mais

Sistemas Digitais INE 5406

Sistemas Digitais INE 5406 Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Sistemas Digitais INE 5406 Aula 10-P Refinamento das especificações

Leia mais

Cálculo Numérico. Conceitos Básicos

Cálculo Numérico. Conceitos Básicos Cálculo Numérico Conceitos Básicos Profs.: Bruno C. N. Queiroz J. Antão B. Moura Ulrich Schiel Maria Izabel C. Cabral DSC/CCT/UFCG Princípios usados em CN Comuns à análise matemática, C&T 1. Iteração ou

Leia mais

Métodos Numéricos - Notas de Aula

Métodos Numéricos - Notas de Aula Métodos Numéricos - Notas de Aula Prof a Olga Regina Bellon Junho 2007 Zeros de equações transcendentes e Tipos de Métodos polinomiais São dois os tipos de métodos para se achar a(s) raízes de uma equação:

Leia mais