Logo Studenta

3 Representacion de un numero en PC

¡Este material tiene más páginas!

Vista previa del material en texto

REPRESENTACIÓN DE UN NÚMERO EN UN 
ORDENADOR 
REPRESENTACIÓN DE UN NÚMERO EN UN 
ORDENADOR 
Representar (o codificar) un número significa expresarlo en forma 
binaria. La representación de números en un ordenador es necesaria 
para que éste pueda almacenarlos y manipularlos. Sin embargo, el 
problema es que un número puede ser infinito (tan grande como se 
desee) o puede utilizar un número grande de dígitos para 
representarlo; pero, la representación de un número en un ordenador 
debe ocupar un número máximo de bits predeterminado. Por lo tanto, 
la clave es predeterminar el número de bits y cómo se interpretan 
para que representen la cifra de la manera más eficiente posible. 
CONVERSION DE UN NUMERO ENTERO EN BASE 10 A 
BASE 2 
El número se divide consecutivamente por 2, luego se forma el número 
tomando el último cociente y luego los restos en orden invertido. 
 
 Ejemplo: Representar 4210 en base 2 
 
 
 
 
 
4210 = 1010102 
REPRESENTACIÓN DE UN NÚMERO NATURAL 
Un número natural es un número entero positivo o cero. La elección de 
la cantidad de bits a utilizar depende del intervalo de números que se 
utilizarán. Para codificar los números naturales entre 0 y 255, todo lo 
que se necesita son 8 bits (un byte) como 28 = 256. Por lo general, la 
codificación de n-bit se puede utilizar para representar números 
naturales entre 0 y 2n-1. 
Para representar un número natural, se define el número de bits que se 
utilizarán para su codificación, luego se ordena los bits en celdas 
binarias (cada bit ubicado de acuerdo a su peso binario en el orden de 
derecha a izquierda) y luego "llenar" los bits que no se utilizan con 
ceros. 
Ejemplo: Representar el numero 3910 en una palabra de 8 bits. 
En binario 3910 1001112 
 
0 0 1 0 0 1 1 1 
REPRESENTACIÓN DE UN NÚMERO ENTERO 
FORMATO SIGNO Y MAGNITUD 
La posición de mayor valor se utiliza para el signo; el valor 0 representa 
el signo positivo y el valor 1 representa el signo negativo. Los bits 
restantes se utiliza para la magnitud empezando por la derecha. 
Se pueden representar los enteros en el intervalo [-2n-1-1,2n-1-1]. 
El cero tiene doble representación +0 y -0. 
Ejemplo: Representar el numero -3910 en una palabra de 8 bits. 
En binario 3910 1001112 
 
1 0 1 0 0 1 1 1 
REPRESENTACIÓN DE UN NÚMERO ENTERO 
FORMATO COMPLEMENTO A 2 
La traducción de un número entero en base 10 a su representación con 
n bits en complemento a 2 se realiza mediante las siguientes reglas: 
Si el número es mayor o igual que cero, su representación corresponde 
directamente a su traducción a base 2 con n bits. 
Si el número es negativo, su representación se obtiene mediante tres 
operaciones: 
• Obtener la representación del valor absoluto del número en base 2 
tomando los n-1 dígitos. 
• Reemplazar cada cero por un uno y cada uno por un cero. A esta 
operación también se le conoce como “negar” el número. 
• Sumar el valor 1 al número obtenido. 
El rango de números enteros representados por una palabra de n bits 
es [-(2n-1), 2n-1 - 1]. 
 
Ejemplo: Representar el numero -3910 en una palabra de 8 bits en el 
formato Complemento a 2. 
1. En binario 3910 01001112 
2. Negando el numero, 1011000 
3. Sumando un 1, 1011001 
1 1 0 1 1 0 0 1 
Ejemplo: Se tiene una palabra de 8 bits que almacena los números bajo 
el formato de complemento a 2, dar el numero en base binaria y base 
decimal. 
 
 
1. Determinando si es positivo o negativo: Negativo. 
2. Restar el numero 1, -1101011 
3. Negar el numero, -0010100 
4. En base 10, -20 
1 1 1 0 1 1 0 0 
CONVERSION DE UN NUMERO DECIMAL EN BASE 10 A 
BASE 2 
El número binario correspondiente a la parte decimal será la unión de 
todas las partes enteras, tomadas de las multiplicaciones sucesivas 
realizadas durante el transcurso del proceso, en donde el primer dígito 
binario corresponde a la primera parte entera, el segundo dígito a la 
segunda parte entera, y así sucesivamente hasta llegar al último. 
Ejemplo: Representar en base 2 el numero 0,37510 
Ejemplo: Representar el numero 42.37510 en base 2. 
42.37510 = 101010.011 
 
Ejemplo: Representar el numero 101010.0112 en base 10. 
1x25 + 0x24 + 1x23 + 0x22 + 1x21 + 0x20 + 0x2-1 + 1x2-2 + 1x2-3 
= 32 + 0 + 8 + 0 + 2 + 0 + 0 + 0.25 + 0.125 
 = 42.375 
REPRESENTACIÓN DE UN NÚMERO REAL 
El estándar IEEE 754 define cómo codificar un número real. 
Este estándar utiliza una palabra de 32 bits, y define tres componentes: 
1. El signo (s) se representa por un bit: el bit de mayor peso. 
2. El exponente (e) se codifica utilizando 8 bits inmediatamente 
después del signo. 
3. La mantisa (m) (los bits después del punto decimal) con los 23 bits 
restantes Así, la codificación sigue la forma: 
seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm 
http://www.zator.com/Cpp/E2_2_4a1.htm 
RESTRICCIONES PARA LOS EXPONENTES 
• El exponente 00000000 está prohibido. 
• El exponente 11111111 está prohibido. Sin embargo, a veces se 
utiliza para informar de errores. Esta configuración numérica se 
denomina NaN (Not a number), que significa No es un número. 
• Se le debe sumar 127 (01111111) al exponente para convertir al 
decimal en un número real dentro del sistema binario. Por lo tanto, 
los exponentes pueden variar de -254 a 255 
NOTACIÓN CIENTÍFICA NORMALIZADA 
Un número real x distinto de cero, se representa en notación 
científica normalizada en la forma: 
Z = (0,d1d2d3 . . . . dn)β
e 
en donde 
=±1 (signo) 
β -{0, 1}, es la base de numeración 
e, 
d1 > 0 (Normalización) 
Β, n y , dependen de la característica de la máquina y su formato 
de representación. 
Ejercicio: Sea una máquina con β = 2, n = 4 y -3 ≤ e ≤ 3. Completar la 
tabla con los número representables en base 10. 
EXPONENTES 
mantisa e = -3 e = -2 e = -1 e = 0 e = 1 e = 2 e = 3 
0.10002 0.5 
0.10012 
0.10102 
0.10112 
0.11002 
0.11012 
0.11102 
0.11112 
Exactamente del mismo modo podemos utilizar la notación 
científica en el sistema binario. En este caso, tenemos que: 
 
donde m es un entero. El número q se denomina mantisa y el 
entero m exponente. En un ordenador binario tanto q como 
m estarán representados como números en base 2. Puesto que la 
mantisa q está normalizada, en la representación binaria empleada 
se cumplirá que: 
 
REPRESENTACIÓN DE NÚMEROS REALES 
FORMATO PUNTO FLOTANTE 
El estándar IEEE 754 ha sido definido por el Instituto de Ingenieros 
Eléctricos y Electrónicos (Institute of Electrical and Electronics 
Engineers, IEEE) y establece dos formatos básicos para representar a los 
números reales en la computadora digital: precisión simple y precisión 
doble. 
1. Identificar si el número es positivo (0) o negativo (1), para definir el 
primer bit. 
2. Representar el número en binario. 
3. Normalizar el número. 
4. Al exponente sumarle 127 y representarlo en binario. Debe tener 8 
dígitos, si es necesario complete con ceros a la izquierda del 
número, los bits que ocupan son del 2 al 9. 
5. Tome la parte decimal del numero normalizado en base 2, si es 
necesario complete con ceros a la derecha del número recuerde 
que debe tener 23 dígitos, del bit 10 al bit 32. 
 
 
 
Ejemplo: Codificar el número 525,5 
• 525,5 es positivo, por lo que el primer bit será 0. 
• Su representación en el sistema binario (base 2) es: 1000001101.1 
• Al normalizarlo, obtenemos: 1.0000011011*2^9 
• Sumándole 127 al exponente, que es 9, da 136 o, en sistema binario 
(base 2): 10001000 
• La mantisa está compuesta por la parte decimal de 525,5 en base 2 
normal, que es 0000011011. 
• Como la mantisa debe tomar 23 bits, se deben agregar ceros para 
completarla: 
• 00000110110000000000000 La representación binaria de 525,5 bajo 
el estándar IEEE 754 es, por lo tanto: 
• 0 1000 1000 00000110110000000000000 
Ejemplo: Codificar el número -0,625. 
El bit s es 1, como 0,625 es negativo. 
0,625 se escribe en sistema binario (base 2) de la siguiente manera: 
0.101 
Queremos escribirlo en la forma 1.01x 2-1 
Consecuentemente, el exponente vale 1111110 como 127 - 1 = 126 (o 
1111110 en sistema binario) 
La mantisa es 01000000000000000000000 (sólo se representan los 
dígitos después del punto decimal, ya que el número entero es siempre 
equivalente a 1) 
La representación binaria de 0,625 bajo el estándar IEEE 754 es, por lo 
tanto: 1 0111 1110 01000000000000000000000 
LEER UN NUMERO REPRESENTADO EN EL FORMATO IEEE 754 
 
Así, la fórmula para expresar números reales es: 
(-1)^S * 2^( E - 127 ) * ( 1 + F ) 
donde: 
• S es el bit del signo, 0 si es positivo y 1 para los negativos. 
• E es el exponente al que se le debe restar 127 para obtener el 
equivalente codificado. 
• F es la parte decimal, la única que se expresa y la que se le suma a 1 
para realizar el cálculo. 
 
ERROR POR TRUNCAMIENTO 
(PROPAGACION DE ERRORES) 
Ejemplo: Consideremos una máquina en la que =10, n = 6, 
mediante error de truncado. Hallar a2 – b2, con a=1001 y b = 1000. 
Error relativo de la representación es de 10-6+1=10-5 
a) a2: 0.1001x104 x 0.1001x104 = 0.010020x108 
 = 1002000; 
 a2: 1001x1001 = 1002001 
 b2: 0.1x104 x 0.1x104= 0.01x108 = 1000000 
 a2 – b2=1002000-1000000=2000 (máquina) 
 a2 – b2=1002001-1000000=2001 (valor verdadero) 
 
 
Equivalentemente, 
Sea a2 – b2 = (a-b)(a+b) 
a – b = 0,1001x104 – 0,1000x104 = 0,0001x104 = 0,1x101 
a + b = 0,1001x104 + 0,1000x104 = 0,2001x104 
(a-b)(a+b) = 0,1x101 x 0,2001x104 = 0,02001x105 = 2001 
 
 
Los procesos matemáticos equivalentes, pueden no ser 
computacionalmente equivalente. 
Ejemplo: Consideremos una máquina en la que = 10, n = 6, 
mediante error de truncado. Hallar 
a) a + (b + c) 
b) (a + b) + c 
Si a = 1, b = 108 y c = -108, entonces

Continuar navegando