tutorial: estándar IEEE-754, para representación de variables en formato de punto flotante, en 32 bits.
|
El estándar de punto flotante más utilizado en aplicaciones con microcontroladores, es IEEE-754, de 32 bits. Este formato es utilizado por el compilador C18 y se describe enseguida. En otro tutorial, se describió el formato utilizado por el compilador HiTech, que contiene solamente 3 bytes ó 24 bits. ESTÁNDAR IEEE-754, PARA LA REPRESENTACIÓN DE NÚMEROS REALES EN FORMATO DE PUNTO FLOTANTE: Al definir una variable del tipo "float", en memoria, el valor se almacena en 4 bytes, ó 32 bits, distribuídos de la siguiente manera: un bit del signo, un exponente de 8 bits y una mantisa de 23 bits. Para realizar la conversión a su valor decimal, se añade a la mantisa un "1" implícito al valor almacenado en memoria, formando finalmente una mantisa de 24 bits.
SIGNO: es el bit 7 del BYTE 1. Si el valor es de 0, el número es positivo, si es 1, negativo. EXPONENTE: es un valor de 8 bits, con un offset de 7FH. Para encontrar el valor real del exponente, se le debe restar -7FH al valor almacenado en memoria. Los 8 bits están formados por los 7 bits menos significativos del BYTE 1 y el bit más significativo del BYTE 2. El exponente real expresa el número de posiciones hacia la derecha (cuando el valor es positivo) o hacia la izquierda (cuando el valor es negativo) que debe de moverse el punto binario en la mantisa. MANTISA: está formada por 23 bits. Estos bits lo forman los 7 bits menos significativos del BYTE 2 y los 8 bits de los BYTES 3 y 4. Al realizar la conversión a su valor real, se le debe añadir un "1" implícito, como se indica enseguida. El "1" implícito: al realizar la conversión a decimal del valor almacenado en memoria, a la mantisa se le debe añadir siempre un "1" a la izquierda del valor binario de 23 bits, que finalmente forma la representación de 24 bits. La posición del punto: la posición del punto, que separa a la parte entera de la parte fraccionaria, siempre estará inicialmente después (a la derecha) del "1" implícito de la mantisa. Esta posición inicial del punto habrá que moverla hacia la derecha o hacia la izquierda, según el valor del exponente real. Favor de ver los ejemplos mostrados abajo.
EJEMPLOS:
DEFINICIÓN DE UNA VARIABLE DE PUNTO FLOTANTE EN C:
|