Sei sulla pagina 1di 18

ARITMETICA DEL COMPUTADOR

ARITMETICA DEL COMPUTADOR METODOS NUMERICOS MB536 TRADUCIDO POR : Prof. ROSA GARRIDO JUAREZ UNI-FIM

METODOS NUMERICOS

MB536

TRADUCIDO POR : Prof. ROSA GARRIDO JUAREZ

UNI-FIM

Notación Científica (en Binario)

mantisa

Notación Científica (en Binario) mantisa exponente 1.0 d o s x 2 - 1 “ punto

exponente

1.0 dos x 2 -1 punto binario

exponente 1.0 d o s x 2 - 1 “ punto binario ” base • La

base

La aritmética que usa el computador es llamada

punto flotante, porque esta representa los números

reales (racionales) donde el punto binario no esta fijo, como ocurre en los enteros.

Tales números son declarados como en lenguaje C

como float.

UNI-FIM

Representación en Punto Flotante

Formato normal: +1.xxxxxxxxxx dos *2 yyyy dos

Ancho de palabra (32 bits)

31

30

23

22

0

 

S

Exponente

Mantisa

1 bit

8 bits

23 bits

S representa el Signo

Los dígitos y’s representan al exponente

Los dígitos x’s representan la mantisa

El número más pequeño es representado por

2.0 x 10 -38 (realmin) y el mas grande como 2.0 x 10 38 (realmax)

UNI-FIM

Representación en Punto Flotante (cont.

¿y si el resultado es demasiado grande? (> 2.0x10 38 )

Overflow!

Overflow

(> 2.0x10 3 8 ) – Overflow! – Overflow Exponente más grande que se representa en

Exponente más grande que se representa

en el campo exponente de 8 bits.

¿Y si el resultado es muy pequeño? (>0, < 2.0x10 -38 )

Underflow!

Underflow

< 2.0x10 - 3 8 ) – Underflow! – Underflow Exponente negativo más grande que representa

Exponente negativo más grande que

representa en el campo exponente de 8 bits

¿Como reducir cam to reduce las posibilidades de overflow o underflow?

UNI-FIM

Representación en Punto Flotante

Representación:

signo, exponente, significando (o mantisa):

(1) signo × 1.mantisa × 2 exponente

Mas bits para la mantisa nos da mayor precisión

Más bits para el exponente aumenta el rango

Punto Flotante estandar IEEE 754 :

simple precisión: 8 bits exponente, 23 bits mantisa

doble precisión : 11 bits exponente, 52 bits mantisa

Cuadruple precisión: 15 bits exponente, 112 bits mantisa

UNI-FIM

Número en Punto Flotante

Importante: “1er” bit de la mantisa es implicito

Ejemplo: Si la mantisa es : 011010110…0, corresponde a la mantisa : 1.011010110…0

Esto es llamado un número normalizado; hay

siempre un dígito no cero a la izquierda del

punto.

Representación única de un número. Conseguimos un poco mas de precisión: si hay 24

bits en la mantisa, pero solamente 23 de estos son

almacenados.

UNI-FIM

Exponente

Exponente es “trasladado” para representar valores

positivos y negativos.

Todos ceros es el exponente más pequeño, todos unos es el

exponente mas grande.

El exponente actual para simple precisión: e - 127, para doble precisión: e-1023, y para cuádruple precisión : e - 16383.

Bias de 127 para simple precisión, 1023 para doble precisión, y 16383 para cuádruple precisión.

Al trasladar (biasing) el exponente y almacenarlo antes de la mantisa, podemos comparar magnitudes como si fueran

números enteros sin signo.

Si e = 1000 0011 (131 10 ), el exponente actual es : 131-127=4

Si e = 0101 1101 (93 10 ), el exponente actual es: 93-127=-34

UNI-FIM

Exponente para 32 Bits IEEE-754

8 bits deberían representar

0 e 255 127 e 128

Bias es 127; tal que al sustraer 127 de la

representación anterior

UNI-FIM

Exponente para Casos Especiales

Actual rango de e

1 e 254

e 0 y

e  255 Son reservados para casos especiales

Actual rango de

e

126 e 127

UNI-FIM

Numeros y Exponentes Especiales

e e 255 0

all zeros

all ones

s

e

m

Represents

0

all zeros

all zeros

0

1

all zeros

all zeros

-0

0

all ones

all zeros

1

all ones

all zeros



0 or 1

all ones

non-zero

NaN

UNI-FIM

IEEE-754 Formato Simple Precisión

El mas grande número en simple precisión

1.1

1

2

127

2 3.40 10

3 8

El más pequeño número en simple precisión

1.00

0

2

2

126

2.18 10

3 8

Epsilon de la máquina en simple precisión

mach

UNI-FIM

2

2 3

1.19 10

7

IEEE-754 Formato Simple Precisión

32 bits for single precision

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0 0 0 0 0 0 0 0 0 0 Sign Biased (s) Exponent (e’) M

Sign

Biased

(s)

Exponent (e’)

Mantissa (m)

Value ( 1) 1.

 

s

m

UNI-FIM

2

2

e ' 127

Ejemplo 1

1

1

0

1

0

0

0

1

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 0 0 0 0 0 0 0 0 0 Sign Biased (s) Exponent (e’) M

Sign

Biased

(s)

Exponent (e’)

Mantissa (m)

Value

 

1

s

1.

m

2

2

e ' 127

 

 

1

1

1.10100000

2

1 1.625 2

162 127

2

(10100010) 127

2

3

5

1 1.625 2 5.5834 10

1 0

UNI-FIM

Tarea

Represente-5.5834x10 10 como un número de punto flotante simple precisión:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

? ? ? ? ? ? ? ? ? ? Sign Biased (s) Exponent (e’) 

Sign

Biased

(s)

Exponent (e’)

5.5834

10

1 0

Mantissa (m)

 

UNI-FIM

1

1

1. ?

2

?

Presición en Punto Flotante

Simple Precisión

Presición en Punto Flotante Simple Precisión Ejemplo 2: Doble Precisión Quadruple Precisión UNI-FIM

Ejemplo 2:

Presición en Punto Flotante Simple Precisión Ejemplo 2: Doble Precisión Quadruple Precisión UNI-FIM
Presición en Punto Flotante Simple Precisión Ejemplo 2: Doble Precisión Quadruple Precisión UNI-FIM

Doble Precisión

Presición en Punto Flotante Simple Precisión Ejemplo 2: Doble Precisión Quadruple Precisión UNI-FIM

Ejemplo 3

Resumen: Representación en Punto flotante

(1) sign × 1+mantisa)× 2 exponente bias Ejemplo:

decimal: -.75 = -3/4 = -3/2 2

binario: -.11 = -1.1 x 2 -1

Exponente en punto flotante:

Simple precisión IEEE :

126 = 01111110

1 01111110 10000000000000000000000

UNI-FIM

Formatos de Punto Flotante- Resumen

Positive and negative zero

0 1

00000000 00000000000000000000000

Biased

exponent

Fraction

0

Positive and negative infinity 0 1 11111111 00000000000000000000000 ∞ Biased exponent Negative underflow
Positive and
negative infinity
0 1
11111111 00000000000000000000000
Biased
exponent
Negative underflow
Fraction
Positive underflow
Negative
Expressible
Expressible
Positive
Overflow
negative
positive
Overflow
numbers
numbers
-2
-127
0
2 -127
- (2 – 2 -23 ) × 2 128
(2 – 2 -23 ) × 2 128
exponent = 128 and fraction ≠ 0, It is called “not a number” or NaN
exponent = 128 and fraction ≠ 0, It is called “not a number” or NaN

UNI-FIM

Fuentes:

engrwww.usask.ca/classes/EE/800/

/ee800_DFP.ppt

inst.eecs.berkeley.edu/~cs61c-td

http://numericalmethods.eng.usf.edu Floating Point Representation

inst.eecs.berkeley.edu/~cs61c-td

UNI-FIM