Universidad de Buenos Aires Sistemas de Numeración Facultad de Ingeniería
2
Departamento de Computación
2
Computación 75.01 Dra. Zulma Cataldi 05 Esteban Calabria, Juan Rendón, Pablo Méndez, Tesis de en Ingeniería en Informática – Sistemas Inteligentes para el modelado para del tutor 06 Guid Guido ogrado Costa Costa, , Matias di T Tada ada y Analía Hojman Hojma n Fernando Ferna ndo Albert Alberto o Salgueiro - 7699 76990 0 Laboratorio de Informática Info rmática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
El primer sistema de numeración del cual se tiene conocimiento fue el sistema egipcio. Los sistemas romano, el maya, el chino, el indio y el árabe original son previos al decimal actual.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para para el modelado del tutor Fernando Ferna ndo Albert Alberto o Salgueiro - 7699 76990 0 Laboratorio de Informática Info rmática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
El primer sistema de numeración del cual se tiene conocimiento fue el sistema egipcio. Los sistemas romano, el maya, el chino, el indio y el árabe original son previos al decimal actual.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para para el modelado del tutor Fernando Ferna ndo Albert Alberto o Salgueiro - 7699 76990 0 Laboratorio de Informática Info rmática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
El sistema decimal es un sistema posicional. El significado de un símbolo depende fundamentalmente de su posición relativa al símbolo (,) coma decimal. En caso de ausencia se supone colocada implícitamente a la derecha. Utiliza como base el 10, que corresponde al número de símbolos que comprenden para la representación de cantidades. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para para el modelado del tutor Fernando Ferna ndo Albert Alberto o Salgueiro - 7699 76990 0 Laboratorio de Informática Info rmática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Estos símbolos (denominados dígitos) son: 0
1
2
3
4
5
6
7
8 9
En todo sistema de numeración la base no aparece como dígito. Una determinada cifra, que se denominará número decimal, se puede expresar de la siguiente forma: Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
n
No =
Σ
(dígito)i * (b)i-1
i= -d
base= 10 i= posición respecto a la coma d= número de dígitos a la derecha de la coma, n= nro. de dígitos a la izq. de la coma - 1, dígito= cada uno de los componentes del número. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Esto es: Teorema Fundamental de la Numeración (TFN). El sistema decimal es un sistema posicional ya que el mismo dígito puede variar su valor de acuerdo a su posición. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
TFN dice:
“El valor en el sistema decimal de una cantidad expresada en otro sistema cualquiera de numeración, viene dado por la ecuación”:
... + X4*B4 + X3*B3 + X2*B2 + X1*B1 + X0*B0 + X-1*B-1 + X-2*B-2 + X-3*B-3 + ...” donde X es el dígito y B la base. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 1: Dado 3221,034 en base 4, dicha base utiliza para representar cantidades los dígitos 0, 1, 2 y 3. ¿Cuál será el valor correspondiente en el sistema decimal? Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
3 * 43 + 2 * 42 + 2 * 41 + 1 * 40 + 0 * 4-1 + 3 * 4-2 = 3 * 64 + 2 * 16 + 2 * 4 + 1 * 1 + 0 * 0,25 + 3 * 0,0645 = 233,1875
El teorema aplicado a la inversa sirve para obtener el valor en una base cualquiera de un valor decimal, por medio de divisiones sucesivas por dicha base. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Sistema binario Los circuitos electrónicos que conforman una PC sólo pueden detectar la presencia o ausencia de tensión. A la presencia de tensión se le puede asignar el valor 1 y a la ausencia el valor 0 (lógica positiva). Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Múltiplos del bit: 8 bits
≡
Byte
1024 bytes ≡ 1 kilobyte
KB
1024 KB
≡
1 Megabyte
MB
1024 MB
≡
1 Gigabyte
GB
1024 GB
≡
1 Terabyte
TB
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Tener en cuenta: 1. La B de byte es siempre mayúscula, ya que Kb significa Kbit unidad utilizada en las memorias. 2. En el sistema de numeración decimal los múltiplos son potencias 10 (1K ≡ 1000 unidades y 1M ≡ 1000 K), en binario es 210 = 1024. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Sistema octal Es un sistema cuya base es el número 8, es decir, utiliza 8 símbolos para la representación de un valor cualquiera. Es posicional. Estos símbolos son: 0
1
2
3
4
5
6
7
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Sistema hexadecimal Es un sistema cuya base es el número 16, es decir, utiliza 16 símbolos para la representación Estos símbolos son: 012 3 4 5 6 7 8 9 A B C D E F Este es otro sistema posicional, característica similar al octal.
de
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión entre los sistemas Se denomina así la transformación de un valor en un sistema al equivalente en otro sistema.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión decimal a binario Para convertir un número decimal entero a binario, se divide por dos y se repite el proceso con sus cocientes hasta que el cociente tome el valor 1. La unión de todos restos escritos en orden inverso encabezados por el último cociente, dará el valor expresado en binario. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración Ejemplo 5:
2
17410 = 101011102
174
2
0
87
2
1
43
2
1
21
2
1
10
2
0
5 1
2 2 2 0 1 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
― Para convertir una fracción decimal a sistema binario, la fracción se debe multiplicar por dos y hay que tomar la parte entera del resultado, ― Se repite con la parte fraccionaria del resultado anterior dando una nueva parte entera, ― y así sucesivamente hasta que la parte fraccionaria de 0 (cero) o que se tengan suficientes decimales que permita estar debajo de un determinado error. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 6: Convertir el número 0,90625 a fracción binaria 0,90625 * 2
=
1,8125
0,8125 * 2
=
1,625
0,625 * 2
=
1,25
0,25 * 2
= 0,5
0,5 * 2 = 0,9062510
=
1, 0,111012
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 7: Convertir el número 0,64037 a fracción binaria. 0,64037 0,28074 0,56148 0,12296 0,24592 0,49184 0,98368 0,96736 0,93472 0,86944
* * * * * * * * * *
2 2 2 2 2 2 2 2 2 2
= = = = = = = = = =
1,28074 0,56148 1,12296 0,24592 0,49184 0,98368 1,96736 1,93472 1,86944 1,73888
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración 0, 6403710 =
2
0,10100011112
El error en el valor es: ε
≤ ε ≤
2-10 0,001 y ε ≤ 2-n
⇒
ε
3 = n log 2; n
≤ ≤
0,001
3/log 2 ≤ 10
Esto es porque se ha obtenido 10 unidades binarias. Para mejorar la precisión se deberá obtener un mayor número de fracciones binarias. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 8: Pasar a binario las siguientes fracciones decimales con: ε ≤
2-10 : 0,63965 y 0,064062
Si se desea convertir un número que tiene parte entera y decimal a binario, se deberá operar cada parte por separado como ya se ha visto, y luego se debe obtener la suma de los resultados. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión binario a decimal 1
0
1
0
1
1
1
0 0 * 20 =
0
1 * 21 =
2 4
1 * 22 = 1 * 23 = 0 * 24 = 1 * 25 =
8 0
0 * 26 =
32 0
1 * 27 =
128
174
101011102 = 17410
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
― Se usa como base el TFN ― Hay que multiplicar cada uno de los términos por potencias crecientes de 2 a partir de la coma decimal hacia la izquierda. ― Realizar la suma de las operaciones ― En el ejemplo se pasó 101011102 a decimal dando 17410 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Pasar a base 10 el número 1101,0112 Se tiene el caso de un número con parte entera y decimal. 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2 + 1 * 2-3= 1 * 8 + 1 * 4 + 0 + 1 * 1 + 0 + 1 * 0,25 + 1 * 0,125 = 8 + 4 + 0 + 1 + 0 + 0,25 + 0,125 = 13,375
1101,0112 = 13,37510 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión de octal a binario Octal
Binario
0
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111
― La base octal es potencia de la base binaria 23 (Propiedad de Potencias). ― La transformación se hace en forma directa dígito a dígito. ― Cada digito octal será reemplazado por tres dígitos binarios ― La potencia que relaciona ambas bases es tres.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 9: Convertir a binario el número 276,5348 2
7
6,
5
3
4
010
111
110,
101
011
100
276,5348 = 10111110,10101112 Los ceros al comienzo se han eliminado, como así los que están a la derecha de la coma. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión de binario a octal ― Cada tres símbolos binarios corresponde uno octal. ― El número de dígitos a la derecha de la coma digital debe ser múltiplo de 3, si no lo fuera se deberán agregar al final del número tantos ceros como sea necesario. ― Lo mismo a la izquierda de la coma, los ceros se agregan al principio del número. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 10: Convertir el binario 10101011,0011 a octal. 010
101
011,
001
100
2
5
3,
1
4
0 cero agregado al número para permitir la conversión correcta.
10101011,00112 = 253,148
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión de hexadecimal a binario ― Como 16= 24, (Propiedad de potencias) la transformación de una base a la otra se hace en forma directa dígito a dígito. ― Cada dígito hexadecimal será reemplazado por 4 dígitos binarios según la tabla.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Tabla hexadecimal binario Hexa
Binario
Hexa
Binario
0 1 2 3 4 5 6 7
0000 0001 0010 0011 0100 0101 0110 0111
8 9 A B C D E F
1000 1001 1010 1011 1100 1101 1110 1111
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 11: Convertir a binario el número 5A8,39C16 5
A
8,
3
9
C
0101
1010
1000,
0011
1001
1100
5A8,39C16 = 10110101000,00111001112 Los ceros al comienzo se han eliminado, igual que los que se hallan a la derecha de la coma. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión de binario a hexadecimal ― Esta conversión es similar a la conversión a octal. ― Son cuatro símbolos binarios los que corresponde a un hexadecimal. ― Para realizar esta conversión el número de dígitos a la derecha de la coma decimal debe ser múltiplo de 4. ― Si no lo fuera se deberá agregar al final del número tantos ceros como sea necesario. ― Lo mismo a la izquierda de la coma, los ceros se agregan al principio del número. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Ejemplo 12: Convertir el binario 1010101011,00111 a hexadecimal. 0010 2
1010 A
1011, B,
0011 3
1000 8
0 cero agregado al número para permitir la conversión correcta. 1010101011,00111
2
= 2AB,3816
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración Conversión de hexadecimal
decimal
a
octal
2 o
Para estos dos casos procederá en forma similar a la conversión de decimal a binario. Pero se deberá tener en cuenta que la base ya no es 2, sino 8 ó 16 según corresponda (Dividir por 8 ó 16)
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión de octal o hexadecimal a decimal Para de estos dos casos se deberá usar el TFN, teniendo en cuenta base que corresponda (8 ó 16, según el caso).
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Conversión de octal a hexadecimal o hexadecimal a octal Estas conversiones no son posibles en forma directa. Para realizarlas se deberá usar el pasaje a otra base como paso intermedio. Por ejemplo: octal
octal
⇔
⇔
decimal
binario
⇔
⇔
hexadecimal
hexadecimal
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.
Sistemas de Numeración
2
Como metodología de trabajo se recomienda esta última, porque al ser las operaciones de conversión más sencillas disminuye la probabilidad de error. Además no existe la posibilidad de errores de redondeo.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.