Representación de números racionales en un ordenador
25.07.2017 a las 10:11 hs 0 105 0
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.
Posts Relacionados:
- ¿Necesito las Matemáticas para Ser Buen Programador?,
- visual basic 6 portable
- Juegos de Logica Programacion
- Representación de números racionales en un ordenador
- suma de dos numeros en java
- Codigo Java [BALANZA] ~ [Java POO]
- Ejercicio de lenguaje C - Validar fecha
- CPU ¿Más núcleos siempre es mejor?
- Definición de constructores de una clase.
- CodeLobster PHP Edition Pro 5 Editor PHP [MG] [FD] - See mo
Generada por Vitutienda