Vous êtes sur la page 1sur 25

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 1 1 0 1 1 0 0

1. Determinando si es positivo o negativo: Negativo.


2. Restar el numero 1, -1101011
3. Negar el numero, -0010100
4. En base 10, -20
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.01 x 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

Vous aimerez peut-être aussi