Representação de números - Conversão de base b para base 10

Documentos relacionados
Representação de números - Conversão de base b para base 10

Representação de números Conversão de base b para base 10

Sistema de ponto flutuante

Fundamentos. Capítulo 1

Projecto de Sistemas Digitais. Introdução

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

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

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

Capítulo 1 - Erros e Aritmética Computacional

Erros e Aritmética de ponto flutuante

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

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

Projecto de Sistemas Digitais

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

Ponto Fixo e Ponto Flutuante

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

Representação de Números em Ponto Flutuante

Capítulo 1 - Erros e Aritmética Computacional

Teoria de erros. Computação Teoria de erros Porquê?

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

Arquitectura de Computadores I

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

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

Guilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva

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

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

Arquitetura e Organização de Computadores

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

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.

Arquitetura e Organização de Computadores

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

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

Números binários e erros

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

Sistemas de Computação. Sistemas de numeração

Métodos Numéricos - Notas de Aula

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

Universidade Federal do Espírito Santo - UFES

UNIVERSIDADE EDUARDO MONDLANE MANUAL TEÓRICO

Erros, Precisão Numérica e Ponto Flutuante

Aula 3 - Representação de Dados

a base da potência usada coincide com a base do sistema de numeração.

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

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:

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

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

Noções sobre Erros em Matemática Computacional

Arquitetura de Computadores

Aritmética Computacional (Ponto Flutuante) Capítulo 4

Representação Binária de Números

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

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. - Cálculo numérico. - Representação de números. - Análise e representação de erros

Matemática Computacional. Edgard Jamhour

Cálculo Numérico Conceitos Básicos

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

ARQUITETURA DE COMPUTADORES

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

Representação Binária de Números

Notas breves de Teoria de Erros

Projecto de Sistemas Digitais

Aproximações e Erros

Erros em computações numéricas

Estouro e Representação em Ponto Flutuante

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

Cálculo Numérico. Conceitos Básicos

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

Conceitos e Princípios Gerais

ARQUITETURA DE COMPUTADORES

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

Erros numéricos por Mílton Procópio de Borba

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

Representação e erros numéricos

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

Aritmética dos Computadores

ARQUITECTURA DE COMPUTADORES

Representação e erros numéricos

INSTITUTO SUPERIOR TÉCNICO Mestrado em Engenharia Electrotécnica e de Computadores Ano Lectivo: 2007/2008 Semestre: 2 o

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

Representação e erros numéricos

Prof. Daniel G. Alfaro Vigo DCC IM UFRJ

Introdução à Computação

Representação e erros numéricos

Organização e Arquitetura de Computadores I

ERRO DE ARREDONDAMENTO E TRUNCAMENTO

2004/2005. Erros PROBLEMAS

1.2.7 Exemplo de aplicação: aproximação de derivadas

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

Fundamentos IV. Introdução a análise de erros. Gustavo Vinhal. August 12, Escola de Ciências Exatas e Computação

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

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

SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011

Sistemas de Computação

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

Representação Digital de Informação

Organização de Computadores I

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

Cálculo Numérico. Prof. Sérgio Queiroz 03/04/2014. Aula 2 Erros e Aritmética de Ponto Flutuante

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

Transcrição:

Representação de números - Conversão de base b para base Números em base 0,,,, 8, 9,,,,, 9, 0,,, 99, 0,,, 47,, 999, 00, 0, dígitos que constituem a base Valor depende da posição dos dígitos centenas unidades dezenas Exemplo: 0 ( 4579) 4000 500 70 9 4 5 7 9 N = = + + + = + + + Exemplo: N ( ) = 684,75 = 6 + 8 + 4 + 7 + 5 0 Generalizando (...,...) N= d d d d d d n n 0 n = d + d +... + d + d + d + d +... n n 0 n 0 0 d 9= i

Representação de números - Conversão de base b para base Números em base b, por exemplo base (ou seja b=) 0,, dígitos da base Generalizando (...,...) N= d d d d d d n,,,, 0,,, 0,,,,,,,,, 00, 4 5 6 n 0 7 = d + d +... + d + d + + +... 0 = n n 0 n n 0 d d 8 9 d i Exemplo: N = ( 0 0, ) = + 0 + + 0 + + + 4 0 4 0 = 8 + 0 7 + 9 + 0 + + + 9 = 7,777...

Representação de números - Conversão de base para base b Números inteiros Exemplo: N d d d d 0 Dividindo 6 por 4 resulta, = ( ) 0 4 0 = 4 + 4 + 4 + 4 = 6 = (6) 0 d0 0 6 4 + 4 + 4 + 4 = 4 4 0 4 4 4 = + + + resto 4 = + resto=d 4 0 Ou seja, 6 4 o resto da divisão inteira de 6 por 4 é o dígito da posição d 0 do número 6 escrito em base 4

Representação de números - Conversão de base para base b Dividindo o resultado da anterior divisão (= ) por 4 resulta, d 0 4 + 4 + 4 = 4 4 0 = 4 + 4 + 7 resto 4 = 7 + resto=d 4 Ou seja, 4 7 o resto da divisão inteira de por 4 é o dígito da posição d do número 6 escrito em base 4 Ou seja, efectuando divisões sucessivas por 4, os restos das divisões vão ser os dígitos do número escrito em base 4 6 4 4 7 4 4 0 4 0 0 6 = ( 0... 0 ) = () 4 4

Representação de números - Conversão de base para base b Números fraccionários puros d Exemplo: x = (, ) d Multiplicando 0,475 por 4 resulta, 4 = 4 + 4 = 0,475 = (0,475) d d 0,475 4 = ( 4 + 4 ) 4 d = + 4 =,75 0,75 d Retirando a parte inteira ao resultado anterior e multiplicando novamente por 4 resulta, d d 0,75 4 = ( 4 ) 4 = Ou seja, efectuando multiplicações sucessivas por 4, as partes inteiras vão ser os dígitos do número escrito em base 4 0,475 x 4 =,75 0,75 x 4 = 0,475 = ( 0, ) = ( 0, ) 4 4

Exemplo: FP(,4,,A) e FP(,4,,T) Sistema de ponto flutuante FP( b, p, q,_) = FP(, 4,, _ ) base 4 dígitos na mantissa dígitos no expoente A=Arredondamento T=Truncatura x ± =± m b t x =± d d d d 4 dígitos (base ) ± ( ) (0, ) t t 0 4 dígitos (da base ) Formato normalizado com excepção da representação do número zero, d 0 pelo que 0,00 m 0,9999 0, m< b m<

Sistema de ponto flutuante Exemplo: Representar x = 805,74 em FP(,4,,T) e em FP(,4,,A) x = 805,74 = 0,80574 FP(,4,, T): fl( x) = x =+ (0,805) + 0 FP(,4,, A): fl( x) = x =+ (0,805) + 0 805,0 805, 805, 805, 805,5 805,5 805,74

Sistema de ponto flutuante Exemplo: Representar x = 805,74 em FP(,4,,T) e em FP(,4,,A) x = 805,74 = 0,80574 Erro absoluto: E = x x FP(,4,, T): fl( x) = x =+ (0,805) FP(,4,, A): fl( x) = x =+ (0,805) + 0 + 0 FP(,4,, T ): E = x x = 0,80574 0,805 = 0,000074 = 0,074 FP E x x (,4,, A ): = = 0,80574 = 6 = 0 0,805 0,0000 0, 6 x x E Erro relativo: e = = x x E 0, 074 FP(,4,, T): e = = = 9, x 805,74 E 0, 06 FP(,4,, A) : e= = =, x 805,74 5 5 x0 x0 9, %, %

Unidade de arredondamento, u Unidadedearredondamento,u majorante do erro relativo (possível de ser cometido) na representação dum número t t x x m b m b m m e = = = t x m b m x x m m max( m m) max ( e) = max = max < u x m min( m) Com truncatura, FP(b,p,q,T) min( m): (0,...0) b m< b m < min( m) = b max( m m ): m = (0,... 0 d...) ( p+ ) d ( p+ ) b p m = (0,... 0) b p m = (0,0... 0 ) < (0,0...0 ) = b m d... ( p+ ) d ( p+ ) b p p b p u max( m m ) b min( m) p = b p b u= u= b b p (0,... 0) b p (0,...0 ) b p Com truncatura, a unidade de arredondamento é a maior distância relativa entre dois números consecutivos (representados nesse sistema)

Unidade de arredondamento, u Unidadedearredondamento,u majorante do erro relativo (possível de ser cometido) na representação dum número t t x x m b m b m m e = = = t x m b m x x m m max( m m) max ( e) = max = max < u x m min( m) Com arredondamento, FP(b,p,q,A) a unidade de arredondamento é metade do valor da unidade de arredondamento com truncatura u = b p (0,... 0) b p u (0,...0 ) b p Com arredondamento, a unidade de arredondamento é metade da maior distância relativa entre dois números consecutivos (representados nesse sistema)

Norma IEEE754 formatos simples e duplo (base ) bits -> 8 Formato simples bits = 4 bytes S Expoente Mantissa bits -> 5 Formato duplo 64 bits = 8 bytes S Expoente Mantissa Número normalizado ou desnormalizado Número normalizado no caso do expoente não ser nem todo zeros nem todo uns Número desnormalizado Se o expoente for todo zeros representação do número zero ou representação de underflow Se o expoente for todo uns representação de overflow (infinito ou NaN)

Norma IEEE754 formato simples bits -> 8 Formato simples bits = 4 bytes S Expoente Mantissa Número normalizado x S = ( ) (, d d ) 4 bits e 7 Exemplo: Valor correspondente ao conjunto de bits (em formato simples IEEE754) 00 000 0 O número é normalizado (porque o expoente armazenado não é nem todo zeros nem todo uns ) s = e = = + + + = 6 4 (00) 89 m = = + + = 565 5 (,00...0), x S = ( ) (, d d ) 4 bits e 7 x = ( ),565 =,565 = 4,064... 89 7 8

Norma IEEE754 formato simples bits -> 8 Formato simples bits = 4 bytes S Expoente Mantissa Números desnormalizados (i) Expoente todo zeros representação do S x = ( ) ( 0, d d ) número zero ou de underflow gradual 4 bits Exemplo: Valor correspondente ao conjunto de bits (em formato simples IEEE754) a) 0 00000000 000 0 b) 00000000 00 000 6 Expoente todo zeros x S = ( ) ( 0, d d ) 4 bits 6 a) s = 0 m = = + = 5 ( 0,00...0) 0,565 x = ( ) 0,565 =,867... 0 6 9 b) s = m = ( 0,00...0) = 0 x = = 6 ( ) 0 0

Norma IEEE754 formato simples bits -> 8 Formato simples bits = 4 bytes S Expoente Mantissa Números desnormalizados (ii) Expoente todo uns representação de overflow Exemplo: Valor correspondente ao conjunto de bits (em formato simples IEEE754) a) 0 000 0 b) 00 000 Expoente todo uns representação de overflow a) m 0 NaN b) m = 0 ± Inf Como s=, o resultado é Inf

Norma IEEE754 formato simples bits -> 8 Formato simples bits = 4 bytes S Expoente Mantissa Formato normalizado S x= ( ) ( d, d d ) 0 4 bits e 7 Expoente: (0000000) e () e 54 6 e 7 7 Limite de overflow: (,) (,) ( ),4 54 7 = 7 = 7 8 8 Limite de underflow: (,0000) = (,0000) =, 7 6 6 8 Limite de underflow gradual: (0,000 ) = =,4 6 6 49 45 Unidade de arredondamento c/ truncatura: u= b = =, p 4 7 Unidade de arredondamento c/ arredondamento: u= b = = 0,6 p 4 7

Formato duplo Norma IEEE754 formato duplo bits -> 5 64 bits = 8 bytes S Expoente Mantissa Formato normalizado S x= ( ) ( d, d d ) 0 5 5 bits e Expoente: (0000000000) e () e 046 e Limite de overflow: (,) = ( ),8 + 5 + + 4 + 08 Limite de underflow: (,0000) = (,0000) =, 08 Limite de underflow gradual: (0,000 ) = = 4,9 5 5 74 4 Unidade de arredondamento c/ truncatura: u= b = =, p 5 5 6 Unidade de arredondamento c/ arredondamento: u= b = =, p 5 5 6

Operações elementares em ponto flutuante (FP) Passos a seguir: ) Decomposição dos operandos nas mantissas e expoentes ) No caso de soma e subtracção, alinhamento das mantissas ) Operações com mantissas e com expoentes 4) Normalização da mantissa 5) Arredondamento da mantissa Exemplos em FP(,4,,T) Exemplo ) y =,4 + 4, 0,4 + 0,4 0,4 + 0,004 0,77 fl( y) = y = 0,77

Operações elementares em ponto flutuante (FP) Passos a seguir: ) Decomposição dos operandos nas mantissas e expoentes ) No caso de soma e subtracção, alinhamento das mantissas ) Operações com mantissas e com expoentes 4) Normalização da mantissa 5) Arredondamento da mantissa Exemplos em FP(,4,,T) Exemplo ) y = 47,,8 0,47 0,8 0,47 0,008 0,457 fl( y) = y = 0,45 Nota: se não existirem dígitos de guarda 0,47 0,00 8 0,45 fl( y) = y = 0,45

Operações elementares em ponto flutuante (FP) Passos a seguir: ) Decomposição dos operandos nas mantissas e expoentes ) No caso de soma e subtracção, alinhamento das mantissas ) Operações com mantissas e com expoentes 4) Normalização da mantissa 5) Arredondamento da mantissa Exemplos em FP(,4,,T) 8,475 0,8475 0,8475 Exemplo ) y = = = 5,47845 54,7 0,547 0,547 fl( y) = y = 0,5478

Operações elementares em ponto flutuante (FP) Passos a seguir: ) Decomposição dos operandos nas mantissas e expoentes ) No caso de soma e subtracção, alinhamento das mantissas ) Operações com mantissas e com expoentes 4) Normalização da mantissa 5) Arredondamento da mantissa Notas: ) Existindo dígitos de guarda, a simulação duma operação elementar em FP corresponde a escrever o resultado obtido no formato em FP, arredondando o resultado para o número de dígitos existentes na mantissa. ) As operações com os expoentes são operações com números inteiros pelo que não introduzem aproximações (operações exactas). ) As operações em FP, em geral, não respeitam as propriedades comutativas, distributiva e associativa da aritmética exacta.

Erros nas operações elementares em ponto flutuante (FP) Nota: as operações com os expoentes são exactas, os erros provêm das operações com as mantissas fl( x) = x + E E fl( x) = x + x e = x ( + e) e= E = x e x Soma: y= x + x (x e x têm o mesmo sinal) [ ] y = fl( x+ x) = x ( + e) + x ( + e) ( + e) = x+ x+ ex+ ex+ e( x+ x) + ϑ y arredondamento do argumento E = y y= e x + e x + e ( x + x ) + ϑ arredondamento do resultado termos de ordem superior E e= e u+ ϑ y E u x + u x + u x+ x + ϑ( u ) E u x+ x + ϑ( u ) y

Erros nas operações elementares em ponto flutuante (FP) Nota: as operações com os expoentes são exactas, os erros provêm das operações com as mantissas fl( x) = x + E E fl( x) = x + x e = x ( + e) e= E = x e x Multiplicação: y= x x [ ] y = fl( x x) = x ( + e) x ( + e) ( + e) =... = x + + + + x exx exx exx ϑ y arredondamento do argumento E= y y= exx + exx + exx + ϑ arredondamento do resultado E u x x + ϑ y termos de ordem superior E e= e u+ ϑ y Analogamente se conclui para a divisão: e u+ ϑ

Erros nas operações elementares em ponto flutuante (FP) Subtracção: y= x x (x e x têm o mesmo sinal) [ ] y = fl( x x) = x ( + e) x ( + e) ( + e) = x ( + e + e + ϑ) x ( + e + e + ϑ) arredondamento do argumento arredondamento do resultado termos de ordem superior = x x+ ex ex+ e( x x) + ϑ y E = y y= e x e x + e ( x x ) + ϑ E e x + e x + e ( x x ) + ϑ ( ) E u x + u x + u x + x + ϑ( u ) E E + e= = e u x x y x x x x + ϑ ( ) E u x + x + ϑ( u ) Se x x for muito pequeno, o erro relativo pode ser muito grande -> cancelamento subtractivo erro absoluto pequeno (em relação à grandeza dos argumentos)

Erros nas operações elementares em ponto flutuante (FP) Exemplo de cancelamento subtractivo y =,46485,450 Valor exacto: y =,46485,450 = 0,047 Cálculo em FP(,4,,A): y =,46485,450 0,46 0,45 0,46 0,45 0,000 fl( y) = y = 0,000 Erro absoluto: E = y y = 0,047 0,000 = 0,047 0,0 E = 0,0047 y y E 0,0047 Erro relativo: e= = = e= 0, % 0 y y 0,047

Erros nas operações elementares em ponto flutuante (FP) Soma: y= x + x (x e x têm o mesmo sinal) e u + ϑ( u ) x + x Subtracção: y= x x e u + ϑ( u ) x x Multiplicação e divisão: y= x x, y= x / x e u + ϑ( u )

Processos que podem originar acumulação de erros n Somatório: y = x i (x i números positivos e negativos) i= Algoritmo: Inicialização: s 0 =0 para i= até n fazer s i =s i +x i fim do ciclo i y=s n No caso de os x i possuírem o mesmo sinal é possível estimar um majorante do erro relativo e ( n+ ) u+ϑ( u ) Notar que a ordem pelo qual o cálculo é efectuado não é indiferente Para minimizar o erro, a variável auxiliar s i pode ser declarada com precisão acrescida. Se não ocorrer cancelamento subtractivo, o erro raramente ultrapassa uma unidade de arredondamento (independentemente do valor de n)

Processos que podem originar acumulação de erros Produto interno (de vectores): s = x y = i n i= x y i Algoritmo: Inicialização: s 0 =0 para i= até n fazer s i =s i +x i. y i fim do ciclo i y=s n No caso dos termos (x i y i ) possuírem o mesmo sinal é possível encontrar um majorante do erro relativo e ( n+ ) u+ϑ( u ) Tal como no caso do somatório, para minimizar o erro, a variável auxiliar s i pode ser declarada com precisão acrescida

Número de condição Avaliar a propagação de erros: análise directa vs. análise indirecta Análise indirecta número de condição perturbação de x x fx ( ) x fx ( ) situação situação bem condicionada situação fx ( ) situação mal condicionada Dedução de número de condição fx ( ) fx ( ) fx ( ) fx ( ) f'( x) = lim f'( x) x x x x x x ( ) fx ( ) fx ( ) f'( x) x x fx ( ) fx ( ) x f'( x) x x fx ( ) fx ( ) x e f cond f ( x) e x

Número de condição Ou seja, e = cond f( x) e, cond f( x) f x x f'( x) fx ( ) cond f(x) representa o factor de ampliação entre o erro relativo do argumento x eoerrodo valor da função f(x) Se cond f(x) for grande, então uma perturbação no valor do argumento x é muito ampliada Se cond f(x) (valor pequeno) função é bem condicionada Se cond f(x) 6 (valor grande (?)) função é mal condicionada Nota : Se uma função for bem condicionada (num ponto), então deverá existir algoritmo que permita calcular (nesse ponto) o valor da função com precisão. Contudo, podem existir algoritmos que originem imprecisões no cálculo da função.

Número de condição Nota : cond f(x) é grande ou pequeno dependendo do nosso objectivo e da incerteza dos argumentos y y x x Considerar, por hipótese, cond fx ( ) = y x a) se os erros dos argumentos forem da ordem da representação dos números em computador (por exemplo em formato simples) y 7 4 = y y x x 7 u x erro inferior a 0,0% erro pequeno (?) (depende da aplicação) b) se os erros dos argumentos forem erros de leitura numa escala (temperatura, distância, velocidade, etc), por exemplo se os erros forem inferiores a 4 y 4 = y y erro inferior a % erro grande (?) (depende da aplicação)