apoio2 icc pontoflutuante

Download Apoio2 Icc PontoFlutuante

Post on 08-Sep-2015

219 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

Universidade Federal de Pelotas

Bacharelado em Cincia da Computao

Introduo Cincia da Computao

Prof. Gerson Cavalheiro

1/4

Apoi

Representa e Nmeros eontlutuante

A representao de nmeros inteiros (como 0, 1, 35, 617,,25.987,)pode serfeita

facilmente utilizaum co de bits, organizaem bytes. Nmeros ditos reais, ou seja, nmeros que

suem uma parte inteira e uma partecionria, ambas separadasvras (comoe 38,313)

requerem uma forma alternativa de representao. Estaforma alternativa de representao cidera

diferentes componentes do nmero. Embora seja comum eessar os nmeros reais apenas com ao da

vra ra separarte inteirarte realrassesm seideradas.

Exemplosrepresentao de nmeros reais

0= 0,125* 1012

0= 0,38313 * 1023

0= 0,31416* 1012

0= 0,82* 1023

Ateno notao. Nanotao brasileira a vra utilizasearate inteiradate

fracionria de um nmero real. O uso do ponto um facilitador introduzidoailiar na visizao do

valoresentado. A notao americtambm utiliza ponto e vra. No ento, a notao americfaz

uso inverso: o ponto sea a te inteira da fracionria e a vra utilizailiar na visizao

do nmero.

Observeexemplos acima que mesmo valoresricos inteiros podem ser representacomo nmeros

reaisbserve tambm que possvel criar uma representaenricara tais nmerosforma:

mero * base

+/ expoente

A questo que se coloca como criar uma representao deste valorrico interna ao coma

ilizatant uma seqncia de bits/bytes) que seja ao mesmo temeficiente em termos de cumo

de rec os etvel. Uma forma comum utilizar um co de N bits (tipicamente N = 32 ou 64, para

representar nmeros em ponto flutuante com preciso simples ou dupla) para armazenar valores em ponto

flutuante ema formamaliz.

Normalizar. Normalizar neste caso si ficaesentar o valor assumium co de regras padro, de

formue todosvalores tenham a mesmstrutura.

Esta forma normalizada a se nte:

+/ 0,mantissa * base +/ expoente

onde o nmero sempre representado com 0,, ou seja, a mantissa representa os dgitos si ficantes do

nmero expoente rea a eciso da representao.

Exemplosrepresentamalizadanmeros reais

1,25= 0,125*101

38,313= 0,38313 *102

3,1416= 0,31416*101

82,0= 0,82*102

o os valores devem ser representaem uma seqncia de N bits, a c igurao se d da se nte

forma:

SNSEExpoenteMantissa

Nts:ts ra o Expoente, y bits ra a Mantissa

onde:

Universidade Federal de Pelotas

Bacharelado em Cincia da Computao

Introduo Cincia da Computao

Prof. Gerson Cavalheiro

2/4

SN o sinalmero (+/t

SE o sinalxpoente /t

Expoente o valor numrico do expoentemermalizats

Mantissa o valor numricdgitos sificativosmermalizats

N = 1 + 1 + x + y

Deveseervar que nesta representao a base no apresentada. Isto evidente uma vez que ta

representao interna se d utilizaa baserica binria. Portanto, a base 2. Desta forma, pode se

afirma ueiderae a representacima xistem se ntes limitesvalores:

O maior expoente possvel : 2x 1

A maior mantissa possvel 2y 1

O maior nmereal representvel + 111E), se= 2x 1

O memer eal 111E), se= 2x 1

O meeal positivo +1E), se= 2x 1

O maior realgativo 1E), se= 2x 1

Esta faixa de valores representa tambm o alcance e a preciso da representao. O alcance diz respeito ao

nmero de bits ocpara armazenar o expoente: quanto maior for o nmero de bits para o expoente,

maior espectro dealcance donmero. A preciso est relaci da ao nmero de bitsalocapara

representar a mantissa: quanto maior o nmero de bits utilizamaior o nmero de dgitos sificativos que

podem ser armazena. Depedo nmero de bitss casos, podem ocorrer situaes de overflow

e underflow.

Overflow. Termo correntena comaoa designar que um valor no pode ser represents seu

valor excede a capacidademazeento dis vel.

U rflow. Termo corrente na comaoa designar que um valor no pode ser represents est

c ido entre 0 e o mevalor real normalizepresentvel.

Overflow ocorre quao valor do expoente no pode ser armazenado no nmero de bits reservaao

expoente. No imta se este valor foritivo ou negativo. J a situao de underflow mais pitoresca: ela

ocorre quao nmero a ser representado maior que 0 (zero) mas meque o menmero

representvel. Assim,maior que seja o expoente, ocorre uma desc i dade na representao

nmerosfaixanmerosxi mas aer

Note que impreciso diferente de underflow. Enquanto valoresricos muito prximos a 0 (zero) no

podem ser representa, a limitao do nmero de bits para mantissa incorre em perda de preciso do valor

efetivo, sermazenavalor aproximatant mprecisalor correto.

Assim, podese c iderar que a retirada de um bit da representao do expoente para representao da

mantissa aumenta a preciso de representao,s dimio passo de representao do nmero. No

entanto, ardatxpoente implicami o da faixavalores representvel.

Representa54

O padro de nmero 754 definido pelo titute of Electrical and Electrcs E neers, tambm conhecido

comoma IEEE 754, empregado para representao de nmeros em ponto flutuante em coma es.

Este padro foi definido em 1e atualmente empregado na maioriaprocessa es. Ama define

como devem ser representanmeros em ponto flutuante com preciso simples iliza32 bits) e com

preciso dupla (64 bits). Em amos casos, a representao requer umamalizao do nmero com parte

Universidade Federal de Pelotas

Bacharelado em Cincia da Computao

Introduo Cincia da Computao

Prof. Gerson Cavalheiro

3/4

cionria. A padrzao um imtante reco paraficar a representao de daem diferentes

mquinas, permiticomcao deentre elas.

O formato de representadro IEEE 754 do por:

Sexpc

1 bitsinal

x bitsra o expoente

y bits radgitosvalor

onde:

paraecis imples: x = 8 e y = 23

paraeciso dupla: x = 1y =

A representao nestedrpresenta alasferenas em relao forma apresentada anteriormente.

O expoente. Observe que no armazenado o sinal do expoente. O valor do expoente, pelo padro IEEE 754 armazenado pela notao com peso, tambm chamada de notao por excesso de valor.

Nesta notao, o valor mais negativo que o expoente pode assumir temos que, com preciso simples, os limites valores so da dupla por excesso de 1023.

representado 0 (zer Assim excesso de 127 e em preciso

Exemplo de expoente ra ecisimples:

Expoente 1:1+12710=12610=0111 11102

Expoente +1:+1+12710=12810=1000 00002

A mantissa. A mantissa armazenada no sentido da esquerda

mantissa armazenada na formamalizada, de forma que o

esquerda vr a ste t em 1 (um o armazenaica

para a direita, ou seja: . Esta primeiro bit em 1 ) ocorra

nte

Exemplo de normalizao da mantissara ecisimples:

Mantissa 0,1310:0,11012=1,1012*21

Mantissa 5,1010:101,1012=1,011012*22

Os dgitosmantissa sepresentam1, m2 m3, ... my emesquerda ra a reita), assim,

almero ento dado por:

(1)S * (1 + (m1 * 21) + (m2 * 22) + (m3 * 23) + (my * 2y)) * 2(expoentePESO)

ou, de forma genrica (naecis implesom PESO = 12

(1)S * (1 + mantissa) * 2(expoente127)

Exerccios:

1esquise:

a imite mximmnimo para o expoente emecis imples.

b) limite mximmnimo para o expoente emeciso dupla.

2.Mostre a representao binriamero 0,7510 secises simples e

3.Qual nmero decimal real e esso pela se ntela ?

a no padro IEEE 754.

3130 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 0876543 2 1 0

11 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Universidade Federal de Pelotas

Bacharelado em Cincia da Computao

Introduo Cincia da Computao

Prof. Gerson Cavalheiro

4/4

Respostas:

1esquise:

aimite mximmnimo para o expoente emecis imples: 2126 to (2223)2127

b) limite mximmnimo para o expoente emeciso dupla.: 21to (22)21

2. Mostre a representao binriamero 0,7510secises simples ea no padro IEEE 754.

5 pode ser representado com3/4 ou 3/22

Em nri orres: 112/1020,112

Emtaientficase0,1121

Emtaientfica normalizadase1,12

omrepresentaenricanmermlutuante (emecisimples) ;

(1)S * (1 + mantissa) * 2(expoente127)

Comalor com que aseve ser elevadave ser1xpoente em questo 126, para que (1127) resulte em 1.

Commantissa normalizada 1,12alornrio 12 +100000000000000000000002

Portanto, emecisimples:

313029282726252423222120191817161514131211100876543210

10111111010000000000000000000000

E emeciso dupla (comeros!):

(1)S * (1 + 0,100...00) * 2(10221023) O eja:

636162616059585756555453525150210

10111111111010000000000000

ual nmero decimal real eesso pela sentela?

313029282726252423222120191817161514131211100876543210

11000000101000000000000000000000

O sinal 1tantmero gativo.

O camexpoente possui 100000012ue corresa 1

A mantissa do por 1 * 22tanto , ou seja

Utilizaequasica:

(1)S * (1 + mantissa) * 2(expoente127) Temos que:

(1)1 * (1 + 0,25) * 2(129127)

Portantalor arm