Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Introdução à Representação de Números Reais Extendidos em Sistemas Informáticos, Notas de estudo de Algoritmos

Este documento aborda os símbolos infinito negativo e infinito positivo no sistema de números reais estendidos, a representação binária de números reais e fracionários, a expansão binária significativa, a precisão de representação e arredondamento, e o padrão ieee 754-2008 para representação de números reais em sistemas informáticos.

Tipologia: Notas de estudo

2022

Compartilhado em 07/11/2022

usuário desconhecido
usuário desconhecido 🇧🇷

4.6

(158)

172 documentos

1 / 108

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Padrão IEEE 754-2008
Graduação/Pós-graduação em Engenharia Elétrica
Erivelton Geraldo Nepomuceno
Departamento de Engenharia Elétrica
Universidade Federal de São João del-Rei
21 de Setembro de 2018
Prof. Erivelton (UFSJ) Padrão IEEE 754-2008 21 de Setembro de 2018 1 / 108
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Introdução à Representação de Números Reais Extendidos em Sistemas Informáticos e outras Notas de estudo em PDF para Algoritmos, somente na Docsity!

Padrão IEEE 754-

Graduação/Pós-graduação em Engenharia Elétrica

Erivelton Geraldo Nepomuceno

Departamento de Engenharia Elétrica Universidade Federal de São João del-Rei

21 de Setembro de 2018

Introdução

Computação numérica é uma parte vital da infraestrutura tecnológica e cientíca da atualidade. Praticamente toda computação numérica utiliza aritmética de ponto utuante. Quase todos os computadores fazem uso do padrão IEEE para aritmética de ponto utuante. Entretanto, percebe-se que aspectos importantes do padrão IEEE ainda não são compreendidos por vários estudantes e prossionais. Computação numérica signica computação com números. É uma área tão antiga quanto a própria civilização humana. Em torno de 1650, os egípcios já empregava técnicas de computação. Contar pedras e gravetos foi utilizado há anos para contar e armazenar números. O ábaco foi utilizado na Europa até a introdução da notação posicional decimal.

Introdução

A partir do séc. XVI, o sistema decimal se tornou base em toda a Europa. O próximo grande avanço foi a tabulação de logaritmos por John Napier no início do séc. XVII. Com logaritmos é possível substituir divisões e multiplicações por subtrações e adições. Isaac Newton e Leibniz desenvolveram o cálculo no séc. XVII e técnicas numéricas para a solução de vários problemas. Outros grandes matemáticos, tais como Euler, Lagrange, Gauss foram responsáveis por grandes desenvolvimentos na computação numérica. Um outro dispositivo utilizado foi a régua de deslizamento até a década de 70 do século passado. Dispositivos mecânicos para cálculo foram inventados por Schickard, Pascal e Leibniz. Charles Babbage iniciou o desenvolvimento de equipamentos sem intervenção humana.

Introdução

Durante Segunda Guerra Mundial houve um grande desenvolvimento de dispositivos para cálculos, e pode-se armar que mais ou menos nessa época começou-se a era da computação. Uma das primeiras máquinas consideradas como computador foi o Z3, construído pelo engenheiro Konrad Zuse na Alemanha entre os anos de 1939 e 1941. O Z3 usava dispositivos eletromecânicos e já empregava números binários de ponto utuante. O governo britânico desenvolveu nessa mesma época um dispositivo eletrônico chamado Colossus usado para decodicar mensagens secretas.

Figura 2: Colossus Mark 2 desenvolvido em 1944. Fonte: Wikipédia.

Introdução

Os dois principais cientistas que inuenciaram os padrões de desenvolvimento dos dispositivos computacionais foram Alan Turing e John von Neumann.

Figura 4: Alan Turing. Fonte: Wikipédia.

Figura 5: John von Newmann. Fonte: Wikipédia.

Introdução

Durante a década de 1950, o principal uso dos computadores foi para computação numérica. A partir de 1960, os computadores passaram a ser usados em empresas para processar informação, tais como, texto e imagem. Usuários frequentemente não estão cientes de que a manipulação de texto, som ou imagem envolve computação numérica. Os computadores são usados para resolver equações que modelam os mais diferentes sistemas: da expansão do universo à micro-estrutura do átomo; processamento de imagens e análise estatística de dados médicos; predição de clima; simulação de circuitos para projetos de computadores menores e mais rápidos; modelagem de aeronaves para testes e treinamento de pilotos; conabilidade de sistemas elétricos. Os resultados numéricos são comparados com os resultados experimentais. Em síntese: todas áreas da ciência e engenharia utilizam fortemente a computação numérica.

Os números reais

Há innitos mas contáveis números inteiros 0, 1 , − 1 , 2 , − 2 ,.... Os números racionais (Q) são aqueles que consistem da razão de dois inteiros, tais como: 1/ 2 , 2 / 3 , 6 / 3. Os números racionais são innitos mas contáveis.

Exercício 1

Mostre que os números racionais são contáveis. Dica: utilize uma tabela e faça uso da diagonal.

Os números irracionais são os números reais que não são racionais. Exemplos:

2 , π, e.

Exemplo 1

O número e é o limite de (^) ( 1 +

n

)n

quando n → ∞.

Os números reais

As investigações para a denição de e começaram no séc. XVII. Todo número irracional pode ser denido como o limite de uma sequência de números racionais. O conjunto de números irracionais é dito ser incontável. Número romano: MDCCCCLXXXV = 1985. O sistema posicional faz uso de um aspecto essencial: o zero é representado por um símbolo. Os babilônios em 300 a.C. usavam um símbolo para representar o zero. O sistema arábico foi desenvolvido na Índia por volta de 600 d.C. Após o ano de 1200 iniciou-se o uso dos números arábicos, notadamente devido a obra Liber Abaci (ou Livro do Cálculo) escrito pelo matemático italiano Leonardo Pisano Bigollo, mais conhecido como Fibonacci.

Exercício 2

Mostre que

2 é um número irracional.

Os números reais

O número ( 71 ) 10 = 7 × 10 + 1 tem sua representação binária como ( 1000111 ) 2 = 1 × 64 + 0 × 32 + 0 × 16 + 0 × 8 + 1 × 4 + 1 × 2 + 1 × 1. O número fracionário pode ser representado, tal como 11 2

= ( 5 , 5 ) 10 = 5 × 1 + 5 ×

e 11 2

= ( 101 , 1 ) 2 = 1 × 4 + 0 × 2 + 1 × 1 + 1 ×

Números irracionais possuem expansão decimal e binária innita e sem repetição.

Exercício 3

Faça a transformação de 101 para o sistema binário.

Exercício 4

Faça a expansão decimal e binária dos seguintes números:

2 , π, e.

Representação Computacional de Números

Qual é a melhor maneira de representar números em um computador? Inteiros são representados por 32 bits. O inteiro 71 seria armazenado como

Faixa: 0 a 2^32 − 1 ou 0 a 4294967295. O número 2^32 não é possível de ser representado.

Exercício 5

Qual é o número mínimo de bits necessários para representar o número 50000?

Representação Computacional de Números

Em um sistema de 32 bits, se dois números positivos forem adicionados e o resultado for maior que 2^31 − 1 ocorre o chamado integer overow. Subtração de dois números inteiros representados na representação do complemento de 2 não necessita de hardware adicional.

Representação Computacional de Números

Números racionais podem ser representados por pares de inteiros: o numerador e denominador. Esta representação é precisa, mas é inconveniente do ponto de vista aritmético. Sistemas que representam os números racionais dessa forma tem sido chamados de simbólicos. Para a maioria dos casos, os números reais, entretanto, são armazenados usando representação binária. Há dois métodos: ponto xo e ponto utuante. Ponto xo: 1 bit para o sinal, um grupo de bits para representar o número antes do ponto binário e um grupo de bits para representar o número após o ponto binário.

Exemplo 2

Para uma precisão de 32 bits o número 11/2 pode ser representado como

| 0 | 000000000000101 | 1000000000000000 |.

Representação Computacional de Números

Ponto utuante é baseado na notação exponencial ou cientíca. Um número x é representado por

x = ±S × 10 E^ , em que 1 ≤ S < 10 ,

em que E é um inteiro. Os números S e E são chamados de signicante ou mantissa e expoente, respectivamente.

Exemplo 3

A representação exponencial de 0,00036525 é 3, 6525 × 10 −^4.

O ponto (vírgula) decimal utua para a posição imediatamente posterior ao primeiro dígito não nulo. Está é a razão para o nome ponto utuante. No computador, utiliza-se a base 2. Assim x é escrito como

x = ±S × 2 E^ , em que 1 ≤ S < 2. (1)

Representação Computacional de Números

A expansão binária do signicante é

S = (b 0 b 1 b 2 b 3.. .) com b 0 = 1. (2)

Exercício 8

O número 11/2 é representado como

11 2

= ( 1 , 011 ) 2 × 22.

Os bits após o ponto binário são chamados de parte fracionária do signicando. As Eq. (1) e (2) são representações normalizadas de x e o processo de obtenção desta representação chama-se normalização. Para representar um número normalizado, a sua representação binária é dividida em três partes: sinal, expoente E e o signicante S, nesta ordem.