Representación en Punto Flotante

download Representación en Punto Flotante

of 18

Transcript of Representación en Punto Flotante

  • 8/18/2019 Representación en Punto Flotante

    1/18

    ARITMETICA DEL COMPUTADOR

    METODOS NUMERICOS MB536

    TRADUCIDO POR : Prof. ROSA GARRIDO JUAREZ

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    2/18

    Notación Científica (en Binario)

    1.0dos x 2-1 

    base“punto binario” 

    exponente 

    • 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.

    mantisa 

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    3/18

    Representación en Punto Flotante

    Representación:

    Signo, exponente, mantisa (o significando):

    ( –1)signo ×1.mantisa× 2exponente

    Mas bits para la mantisamayor precisión

    Más bits para el exponente  aumenta el rango

    Punto Flotante estándar IEEE 754 :

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

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

    Cuádruple precisión: 15 bits exponente, 112 bits mantisaUNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    4/18

    Número en Punto Flotante (P.F.)

    • Importante: “1er” bit de la mantisa es implícito 

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

    • Esto se define como número normalizado;existe siempre un dígito no cero a la izquierdadel punto.

     –Representación única de un número.

     –Conseguimos un poco mas de precisión: si hay 24bits en la mantisa, pero solamente 23 de estos sonalmacenados.

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    5/18

    Representación Interna (Máquina) en P.F.

    • Formato normal: +1.d1d2d3…. dp*2e1e2..

    • Ancho de palabra (32 bits)

    031

    S  Exponente

    30 23 22

    Mantisa 

    1 bit 8 bits 23 bits

    • S representa el Signo 

    • Los dígitos ei’s representan al exponente

    • Los dígitos di’s representan la mantisa

    • El número más pequeño es representado por2.0 x 10-38 (realmin) y el más grande como 2.0 x 1038 (realmax)

    UNI-FIM

    Ejemplo : Simple precisión

  • 8/18/2019 Representación en Punto Flotante

    6/18

    Representación en P.F.(cont.)

    • ¿y si el resultado es demasiado grande?

    (> 2.0x1038 )

     – Overflow! 

     – Overflow 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 Exponente negativo más pequeño querepresenta en el campo exponente de 8 bits

    • ¿Como reducir las posibilidades de overflow o underflow?

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    7/18

    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 fuerannúmeros enteros sin signo.

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

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

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    8/188

    Exponente para 32 Bits (IEEE-754)

    8 bits deberían representar

    2550   e

    Bias es 127; tal que al sustraer 127 de la

    representación anterior

    128127     e

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    9/18

    Exponente para Casos Especiales

    eActual rango de2541   e

    0e   y 255e Son reservados para casosespeciales

    127126     e

    eActual rango de

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    10/18

    Números y Exponentes Especiales

    0e Todos ceros

    255e Todos unos

    s m Representa

    0 Todos ceros Todos ceros 0

    1 Todos ceros Todos ceros -0

    0 Todos unos Todos ceros

    1 Todos unos Todos ceros

    0 ó 1 Todos unos diferente decero

    NaN

    e

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    11/1811

    IEEE-754 Formato Simple Precisión

    El mas grande número en simple precisión

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

    Epsilón de la máquina en simple precisión

      381272   1040.321........1.1  

      381262   1018.220......00.1 

    723 1019.12   mach

     

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    12/1812

    IEEE-754 Formato Simple Precisión

    32 bits para simple precisión

    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

    (s)

    Exponente interno (e’)  Mantisa (m)

      127'2  21)1(Valor    .     e s m

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    13/1813

    Ejemplo 1

      127'2  2.11Valor 

     

      e s

    m

      127)10100010(2

    12210100000.11

     

      127162

    2625.11 

      1035 105834.52625.11  

    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

    Signo

    (s)

    Exponente interno (e’)  Mantisa (m)

    UNI-FIM

    T

  • 8/18/2019 Representación en Punto Flotante

    14/1814

    Tarea

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    Signo(s)

    Exponente interno (e’)  Mantisa (m)

    Represente-6.234x105 como un número de

    punto flotante simple precisión:

      ?15

    2?.1110234.6

     

    UNI-FIM

  • 8/18/2019 Representación en Punto Flotante

    15/18

    Presición en Punto Flotante

    Ejemplo 2:

    Simple Precisión

    Doble Precisión

    Quadruple Precisión

    UNI-FIM

    http://en.wikipedia.org/wiki/File:IEEE_754_Quadruple_Floating_Point_Format.svghttp://en.wikipedia.org/wiki/File:IEEE_754_Quadruple_Floating_Point_Format.svghttp://en.wikipedia.org/wiki/File:IEEE_754_Quadruple_Floating_Point_Format.svghttp://en.wikipedia.org/wiki/File:IEEE_754_Double_Floating_Point_Format.svghttp://en.wikipedia.org/wiki/File:Float_example.svg

  • 8/18/2019 Representación en Punto Flotante

    16/18

    UNI-FIM

    Ejemplo 3

    • Resumen: Representación en Punto flotante

    ( –1)sign×1+mantisa)×2exponente – bias 

    • Ejemplo: 

     – decimal: -.75 = -3/4 = -3/22 

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

     – Exponente en punto flotante: 126 = 01111110

     – Simple precisión IEEE :

    1 01111110 10000000000000000000000

  • 8/18/2019 Representación en Punto Flotante

    17/18

    UNI-FIM

    Formatos de Punto Flotante- Resumen 

    Negative

    Overflow

    Positive

    Overflow

    Expressible

    negative

    numbers

    Expressible

    positive

    numbers

    0-2-127 2-127

    Positive underflowNegative underflow

    (2  – 2-23) 2128- (2  – 2-23) 2128

    00000000 00000000000000000000000

    Biased

    exponentFraction

    Positive andnegative zero

    11111111 00000000000000000000000

    Biasedexponent

    Fraction

    1

    1

    0

    0Positive and

    negative infinity

    exponent = 128 and fraction ≠ 0, It is called “not a number”  or NaN  

    ∞ 

  • 8/18/2019 Representación en Punto Flotante

    18/18

    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

    http://numericalmethods.eng.usf.edu/http://numericalmethods.eng.usf.edu/