Representación de números racionales en un ordenador

Noticias

25.07.2017 a las 10:11 hs 0 105 0

Representación de números racionales en un ordenador





1. Notación científica

La notación científica es una forma de escribir números demasiados grandes o pequeños. Para escribir un número cualquiera en notación científica es necesario seguir ciertas reglas. pero primero veamos como se compone.




El número m se denomina mantisa y es un valor absoluto, y e el orden de magnitud (exponente). La mantisa debe ser mayor que o igual a 1 y menor que 10, y el exponente debe de ser un número entero (positivo o negativo). Ahora un par de ejemplos de números expresados en notación científica:

1,000,000 = 1×10^6
0.000001 =1×10^-6
4,294,967,296 = 4.294967296×10^9

En los ordenadores, muchas calculadoras científicas o lenguajes de programación como C se utiliza la e o E para sustituir a '×10' y a su vez seguido del signo del exponente y su respectivo valor. Reescribiendo lo anterior:

1,000,000 = 1E+6 o 1e+6
0.000001 = 1E-6 o 1e-6
4,294,967,296 = 4.294967296E+9 o 4.294967296e+9

2. Coma flotante

Coma flotante es una forma de notación científica usada en los microprocesadores para representar números racionales, ya sean extremadamente grandes o pequeños. Existen un estándar para la representación en coma flotante llamado IEEE 754.




En la imagen anterior queda muy bien expuesto las partes de un número flotante de 32 bits en formato IEEE 754. Lo primero que hay que hacer para codificar un número entero con parte fraccionaria es convertir el número a base 2. Veamos un ejemplo con el número en decimal 2710.2901.

2710 = 101010010110 (base 2)
0.2901 = 0.01001010010000111111111001... (base 2)
2710.2901 = 101010010110.0100101001000... (base 2)

Una ves tengamos el número expresado en binario necesitaremos colocar el punto después del primer bit en estado 1 y contaremos las posiciones que el punto necesito desplazarse (desplazamientos hacia la izquierda son positivos); en el número de ejemplo fue 11 posiciones que se desplazo. Ahora, a partir del punto ya desplazado contaremos hasta 23 bits, eso sera la mantisa (si el bit 24 esta en 1 entonces se redondea). Bien, ahora para obtener el exponente solo es cuestión de sumar 127 + 11 (138) y codificar el resultado en binario. El signo es positivo por lo cual el bit de signo sera 0. El resultado es:

0100·0101·0010·1001·0110·0100·1010·0100

Aquí dejo una página para codificar y decodificar en formato IEEE 754, además de un video para entender mejor esto.





interblink

Posteado por:

interblink

Administrador

0 Comentarios


Cargando comentarios espera un momento...
No tienes permisos para comentar.
Para comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!