1. Escuela Polit´ecnica Nacional
Facultad de Ingenier´ıa de Sistemas
Sistemas, Representaci´on y Conversiones Num´ericas
A˜nasco Loor Cesar Washington
Apolo Romero Claribel Margarita
Defaz Guachamin Cristian Vinicio
Oviedo Moreno John Danilo
Fundamentos de Ciencias de la Computaci´on - 2015A - SIS-404
27 de julio 2015
1 / 64
2. ´Indice
1 Sistemas de Numeraci´on
Sistema Binario
Sistema Octal
Sistema Hexadecimal
2 Conversiones y Operaciones entre distintas bases
Conversiones de bases Bn a B10 y B10 a Bn
Conversiones de bases arbitrarias Bn - Bm
3 Representaciones Num´ericas
Enteros
Reales
4 Ejercicios Propuestos
2 / 64
3. Sistemas de Numeraci´on
Los sistemas y c´odigos de Numeraci´on
Los n´umeros pueden representarse en diversos sistemas de numeraci´on
posicionales o ponderados que se caracterizan por asignar a cada n´umero
un conjunto de s´ımbolos o cifras cada una de las cuales tiene asignado un
peso. Se diferencian por la base, que es el n´umero de s´ımbolos distintos
utilizados para la representaci´on de las cantidades en el mismo. La base
diez o decimal, es el sistema de numraci´on utilizado en la vida
cotidiana[4], pero no es el ´unico.
3 / 64
4. Sistemas de Numeraci´on Sistema Binario
El Sistema Binario
Este sistema utiliza solamente dos s´ımbolos distintos, que se
representan gr´aficamente por 0 y 1 y reciben el nombre de ”bit”.
Pr´acticamente su uso es exclusivo de equipos electr´onicos
inform´aticos, de comunicaciones y de control autom´atico, debido a la
rapidez de respuesta de dichos aparatos y a la sencillez de las
operaciones aritm´eticas binarias.
4 / 64
5. Sistemas de Numeraci´on Sistema Octal
El Sistema Octal
Este sistema alberga ocho s´ımbolos diferentes (del 0 a 7).
El inter´es del sistema octal proviene de que, al ser el n´umero 8 una
potencia de 2, su conversi´on al sistema binario y viceversa se torna
muy sencilla
Por ejemplo
Dado el n´umero 325 en base 8, convertimos cada cifra a binario.
5 / 64
6. Sistemas de Numeraci´on Sistema Hexadecimal
El Sistema Hexadecimal
El sistema de numeraci´on hexadecimal utiliza 16 s´ımbolos diferentes:
los d´ıgtos del 0 al 9 y seis letras del alfabeto en may´usculas
relacionados de la siguiente manera:
Se utiliza este sistema en la inform´atica porque simplifica la expresi´on
binaria de los objetos.
Es as´ı que con el byte, la Unidad B´asica de Informaci´on compuesto
por 8 bits (conjunto de unos y ceros) el cual puede representar 256
valores desde el 0 hasta el 255 se la puede simplificar a 2 d´ıgitos con
este sistema.
6 / 64
7. Conversiones y Operaciones entre distintas bases
Conversiones entre bases diferentes
Existen varios m´etodos para convertir n´umeros de una base a otra. Como
el sistema decimal es el sistema de numeraci´on de uso com´un, primero se
presentan los m´etodos para convertir de base 10 a otra base y de otra base
a base 10 . Despu´es se explicar´a la conversi´on entre dos bases arbitrarias
(Bn-Bm).[3]
7 / 64
8. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones a base 10
De binario a decimal
La conversi´on de binario a decimal se hace utilizando el desarrollo del
n´umero binario a base de potencias de 2, como se refleja en la figura.
8 / 64
9. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a binario
La conversi´on de n´umero decimal a binario se obtiene dividiendo
sucesivamente para 2, la base binaria. Los restos de las divisiones son
las cifras binarias, ley´endolas de abajo hacia arriba.
9 / 64
10. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a octal
Al igual que la conversi´on binaria, la conversi´on de n´umero decimal a
octal tambi´en se logra dividiendo sucesivamente, pero en este caaso
para su base: 8. Los restos de las divisiones son las cifras binarias,
igualmente su lectura es desde abajo hacia arriba.
10 / 64
11. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a octal
Un m´etodo alternativo y m´as corto ser´ıa el convertir el n´umero
decimal a binario para posteriormente agruparlos en grupos de 3,
deduciendo as´ı su equivalente.
11 / 64
12. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones a base 10
De octal a decimal
La conversi´on de un n´umero octal a decimal es igualmente sencilla.
A cada una de estras cifras le agregamos un multiplicador por 8 (*8).
A Cada “*8 lo elevamos, de derecha a izquierda, a una potencia
consecutiva empezando desde el cero.
Resolvemos y sumamos.
12 / 64
13. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a hexadecimal
La conversion de decimal a hexadecimal puede utilizarse mediante el
uso de la division repetida entre 16.
13 / 64
14. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a hexadecimal
O podemos hallar el binario del n´umero a convertir, formar grupos de
4 de derecha a izquierda:
14 / 64
15. Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones a base 10
De hexadecimal a decimal
Multiplicamos el valor de posici´on de cada columna por el d´ıgito
hexadecimal correspondiente.
El resultado del n´umero decimal equivalente se obtiene, sumando
todos los productos obtenidos en el paso anterior
15 / 64
16. Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Bases distintas de B10
Antecedentes
Nuestros antepasados sintieron la necesidad de contar y, a partir de
los 10 dedos de las manos, inventaron la numeraci´on decimal, algunos
se quisieron pasar de listos y se˜nalaron que tenemos m´as de 20 dedos,
de las manos y de los pies. Complicaron la cuesti´on, pero la
numeraci´on vigesimal (base 20) no prosper´o.[2]
Se podr´ıan establecer numeraciones distintas a la decimal
fundament´andose en otras bases. As´ı se escribir´ıan los 20 primeros
n´umeros seg´un las diferentes sistemas de numeraci´on:
16 / 64
17. Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Conversiones entre bases distintas de B10
17 / 64
18. Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Bases distintas de B10
Antecedentes
La escritura de los n´umeros en las bases superiores a 10 requerir´a la
creaci´on de nuevos s´ımbolos: sustituy´endolos por letras. Cuanto
mayor es la base, menos cifras o d´ıgitos se necesitar´an para escribir un
n´umero. Ej. el N´umero 1000 en base 10: [2]
18 / 64
19. Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Bases diferentes de 10 m´as utilizadas
El sistema duodecimal (Base12)
Este sistema ofrec´ıa ciertas ventajas, ya que 12 tiene un mayor n´umero de divisores
que el 10, aunque no se puede abandonar el sistema decimal, al estar
universalmente adoptado. [2]
El sistema sexagesimal (Base 60)
Fue desarrollado por la civilizaci´on mesopot´amica y se lo utiliza para medir el
tiempo y para los ´angulos en el ´ambito de las ciecias exactas.
Si decimos por ejemplo, 8 horas 20 minutos y 15 segundos (que podr´ıa escribirse
l´ogicamente 8,20,15) solo en segundos ser´ıa:
19 / 64
20. Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Conversiones entre Bases distintas de B10
Convertir de
La escritura de los n´umeros en las bases superiores a 10 requerir´a la
creaci´on de nuevos s´ımbolos: sustituy´endolos por letras. Cuanto
mayor es la base, menos cifras o d´ıgitos se necesitar´an para escribir un
n´umero. Ej. el N´umero 1000 en base 10: [2]
20 / 64
21. Representaciones Num´ericas
Representaciones Num´ericas
En esta secci´on se explica el modo en que las computadoras representan
n´umeros negativos mediante el uso de la notaci´on de complementos a uno
y dos. Primero explicaremos los diferentes m´etodos existentes para
representar negativos, luego el complemento a uno y detallaremos c´omo se
forma el complemento a dos de un n´umero binario, y el por qu´e ´esta nueva
expresi´on representa el valor negativo de dicho binario.
21 / 64
22. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Binario Puro
Los n´umeros escritos en Binario Puro s´olo pueden ser positivos, ya
que, en este tipo de representaci´on los n´umeros negativos no est´an
contemplados.
En este sentido, su rango de representaci´on ´unicamente va desde el
n´umero
010
hasta el n´umero
(2n
− 1)10
donde n es el n´umero de bits dedicados a representar a los n´umeros
enteros.
22 / 64
23. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
De este modo,en este sistema de numeraci´on, el rango de valores que
puede tomar cualquier cantidad num´erica x, viene dado por la expresi´on:
010 ≤ x ≤ (2n
− 1)10
Ejemplo:
Si n = 8, el rango de representaci´on en binario puro es:
010 ≤ x ≤ (28 − 1)10
010 ≤ x ≤ (256 − 1)10
010 ≤ x ≤ (255)10
Por lo tanto, determinamos que solamente podemos representar n´umeros
desde 0 hasta 255 en el sistema decimal.
23 / 64
24. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Magnitud-Signo
Llamada Signo M´odulo, es un formato que imita nuestra escritura
manual de n´umeros enteros, pues estamos acostumbrados a escribir
los enteros separando el signo de la magnitud del n´umero, por
ejemplo, -32, +25.
Si no hay signo, sobreentendemos que se trata de un n´umero entero
positivo.
En este m´etodo se reserva un bit para el signo, el resto de bits
representan a la magnitud. Por tanto, dado un n´umero en Signo
Magnitud de n bits
El primer bit tendr´a entonces un solo valor: 1 para negativos y 0 para
positivos
24 / 64
25. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Magnitud-Signo
Es as´ı que si trabajamos con m bits, tendremos disponibles m - 1 bits
para escribir la magnitud del n´umero en binario.
El n´umero de magnitud m´as grande que podremos escribir en este
espacio ser´a aquel donde todos los bits est´an en uno (111111...11),
entonces:
M´aximo: 2m−1 − 1
M´ınimo: -(2m−1 − 1)
Entonces podremos representar un n´umero desde 0 hasta 255 en el
sistema decimal.
25 / 64
26. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Ejemplo:
En Signo Magnitud, para n = 8, los n´umeros 2310 y −2310 se
escriben:
Como muestra el ejemplo, los dos tienen la misma magnitud, diferenci´andose
solamente, en el bit de signo, que al tratarse de un n´umero negativo, su valor es 1
en lugar de 0.
Por tanto, 2310 = 00010111SM y −2310 = 10010111SM
26 / 64
27. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Complemento a 1
En este sistema de representaci´on, los n´umeros positivos se expresan
igual que en Signo Magnitud o que en Binario Puro.
Sin embargo, para escribir los n´umeros negativos se utiliza el
Complemento a la Base Menos 1.
De forma normalizada, el Complemento a la Base Menos 1 de un
n´umero entero positivo N de base b, se expresa de la siguiente
manera:
Cb−1(N) = bn − 1 − N [1]
27 / 64
28. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Complemento a 1
Si n es el n´umero de cifras destinadas a representar al n´umero,
entonces en codificaci´on binaria, el Complemento a 1 (C1) de un
n´umero entero positivo (N) se puede expresar como:
C1(N) = 2n − 1 − N = Nc1 [1]
El rango de representaci´on ser´a el mismo que en Magnitud-Signo:
(−2n−1 + 1)10 ≤ x ≤ (2n−1 − 1)10
28 / 64
29. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Ejemplo:
El negativo del n´umero 8610 en complemento a 1 se representa como:
Entonces, el complemento a uno no es mas que complementar cada bit mediante
el intercambio de ceros por unos y viceversa. Como apunte adicional, el cero
decimal tiene 2 formas de representarse:
010 = (0000000000000000)C1 = (1111111111111111)C1
29 / 64
30. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Complemento a 2
En este sistema de representaci´on, los n´umeros positivos se expresan
igual que en el sistema Magnitud- Signo o que en Binario Puro.
Sin embargo, para escribir los n´umeros negativos se utiliza el
Complemento a la Base.
Formalmente, el Complemento a la Base de un n´umero entero
positivo N de base b, se expresa de la siguiente manera:
Cb(N) = 2n − N [1]
30 / 64
31. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Complemento a 2
Si n es el n´umero de cifras destinadas a representar al n´umero,
entonces en codificaci´on binaria, el Complemento a 2 (C2) de un
n´umero entero positivo (N) se puede expresar como:
C2(N) = 2n − N = Nc2 [1]
El rango de representaci´on del complemento a 2 viene dado por:
(−2n−1)10 ≤ x ≤ (2n−1 − 1)10
31 / 64
32. Representaciones Num´ericas Enteros
M´etodos de representaci´on de enteros
Ejemplo:
El negativo del n´umero 910 en complemento a 2 se representa como:
Entonces, el complemento a 2 se obtiene tomando el complemento a 1, y
sum´andole 1 al bit menos significativo, en este caso, al primer bit desde la
derecha.
32 / 64
33. Representaciones Num´ericas Reales
Representaci´on de Reales en el computador
Ahora nuestro objetivo es representar un n´umero con un punto decimal en
sistema binario (por ejemplo, 101.01, que no se lee ciento uno punto cero
uno ya que es, de hecho, un n´umero binario, ´o 5,25 en el sistema decimal).
El est´andar IEEE 754 define c´omo codificar un n´umero real.
El Est´andar IEEE 754
El est´andar IEEE 754 ha sido definido por el Instituto de Ingenieros
El´ectricos y Electr´onicos (Institute of Electrical and Electronics Engineers,
IEEE) y establece dos formatos b´asicos para representar a los n´umeros
reales en la computadora digital: precisi´on simple y precisi´on doble. [1]
33 / 64
34. Representaciones Num´ericas Reales
Representaci´on de Reales en el computador
Precisi´on Simple
Establece 32 bits para escribir un n´umero real, de ellos, el primer bit,
que por lo general es el de mayor peso, (aquel que se encuentra m´as a
la izquierda) representa el signo m´as/menos.
El exponente se codifica utilizando 8 bits inmediatamente despu´es del
signo.
Los bits despu´es del punto decimal son los 23 bits restantes que
representar´an a la ’mantisa’:
34 / 64
35. Representaciones Num´ericas Reales
Representaci´on de Reales en el computador
Precisi´on Doble
Establece 64 bits para escribir un n´umero real, de los cuales, el primer
bit de mayor peso, (aquel que se encuentra m´as a la izquierda)
representa el signo m´as/menos,
El exponente se codifica utilizando 11 bits inmediatamente despu´es
del signo.
Los bits despu´es del punto decimal son los 52 bits restantes que
representar´an a la ’mantisa’:
35 / 64
36. Representaciones Num´ericas Reales
Representaci´on de Reales en el computador
Ejemplo de representaci´on de reales
Mediante el siguiente ejemplo, detallaremos c´omo el computador
representa un n´umero real.
Representar el valor -125,125 en el computador, utilizando precisi´on
simple, es decir, 32 bits.
36 / 64
37. Representaciones Num´ericas Reales
Representaci´on de Reales en el computador
Procedimiento para representar reales
1) Como -125,125 es negativo, el primer bit ser´a 1.
2) Su representaci´on en el sistema binario (base 2), aplicando las reglas de
conversiones es: 1111101,0010.
3) Normalizamos el binario recorriendo cada t´ermino de derecha a izquierda
como en notaci´on cient´ıfica; as´ı, obtenemos: 1, 1111010010x(10)6
.
4) El exponente se suele representar en Exceso a 2n−1
− 1, donde n es el
n´umero de bits asignado para el exponente (8) por tanto tenemos:
28−1
− 1 = 127
37 / 64
38. Representaciones Num´ericas Reales
Representaci´on de Reales en el computador
Procedimiento para representar reales
5) Sum´andole 127 al exponente, que en este caso es 6, da 13310 y
convertido a binario: 1100001012.
6) Colocamos esta cantidad en los 8 siguientes casilleros de la gr´afica:
7) Finalmente la mantisa estar´a compuesta por la parte decimal de -125,125
obtenida en la normalizaci´on (paso 3), que es: 1111010010, la ubicamos en
los 23 bits siguientes y en aquellos que queden vac´ıos, lo completamos con
ceros:
38 / 64
39. Representaciones Num´ericas Reales
Representaci´on de Reales en el computador
Por lo tanto, el n´umero −125, 12510 quedar´a representada como
110000101111101001000000000000002
, el cual puede ser convertido a cualquier otro sistema num´erico, como el
hexadecimal: C2FA400016
39 / 64
40. Representaciones Num´ericas Reales
Casos especiales del Est´andar IEEE 754
Tanto en precisi´on doble como en precisi´on simple, existen algunos casos
especiales que dependen de los valores del signo, del exponente y de la mantisa:
[1]
Figura: Casos especiales en el est´andar IEEE 754 con precisi´on simple o doble.
40 / 64
64. Ejercicios Propuestos
Carlospes.com.
Curso/tutorial de representaci´On de los datos.
urlhttp://www.carlospes.com/cursorepresentaciondatos/0503compleme
Andr´e Jouette.
El secreto de los n´umeros.
Ediciones Robinbook, 2008.
H´ector Antonio Villa Mart´ınez.
Sistemas de numeraci´on y aritm´etica binaria.
Technical report, Technical report, Universidad de Sonora, Hermosillo,
Sonora, 2008.
Enrique Mandado P´erez, Enrique Mandado, and Yago Mandado.
Sistemas electr´onicos digitales.
Marcombo, 2007.
64 / 64