Anda di halaman 1dari 39

Ciclo Formativo de Grado Superior de Administracin de Sistemas Informticos

Mdulo Profesional: Fundamentos de Programacin Unidad de Trabajo 3.- Sistemas de Numeracin y Representacin
Departamento de Informtica y Comunicacin IES San Juan Bosco (Lorca-Murcia)
Profesor: Juan Antonio Lpez Quesada

Un dato es toda aquella informacin caracterstica de una entidad, que es susceptible de tratamiento en un programa informtico. Para todo ordenador, internamente, toda la informacin es numrica (combinaciones de ceros y unos - cdigo binario). Por ello, para su correcto tratamiento, todos los datos que forman dicha informacin deben estar clasificados de tal forma que los programas sean capaces de realizar las debidas operaciones sobre ellos, sin dar lugar a error o fallos por parte del sistema.

El sistema decimal es un sistema posicional, ya que el significado de un smbolo depende fundamentalmente de su posicin relativa al smbolo coma (,), denominado coma decimal, que en caso de ausencia se supone colocada implcitamente a la derecha. Utiliza como base el 10, que corresponde al nmero de smbolos que comprenden para la representacin de cantidades; estos smbolos (tambin denominados dgitos) son: 0 1 2 3 4 5 6 7 8 9

Una determinada cifra, que se denominar nmero decimal, se puede expresar de la siguiente forma: N =
o

(dgito)i * (base)i
i= -d

Donde: base = 10 i = posicin respecto a la coma d = n.o de dgitos a la derecha de la coma, n = n.o de dgitos a la izquierda de la coma - 1, dgito = cada uno de los que componen el nmero La frmula responde al Teorema Fundamental de la Numeracin que ser descrito en el siguiente punto. El sistema decimal es un sistema posicional como ya hemos dicho, ya que el mismo dgito puede variar su valor de acuerdo a su posicin. Ej.: 1000 mil 100 cien 10 diez 1 uno 0,1 un dcimo 0,01 un centsimo
5

El teorema fundamental de la numeracin dice: El valor en el sistema decimal de una cantidad expresada en otro sistema cualquiera de numeracin, viene dado por la frmula: ... + 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 dgito y B la base. Ejemplo: Supongamos la cantidad 3221,034 esta expresada en base 4 (ver subndice al final de la cantidad), dicha base utiliza para representar cantidades los dgitos 0, 1, 2 y 3. Cul ser el valor correspondiente en el sistema decimal? 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

Por razones tcnicas, la mayora de los circuitos electrnicos que conforman un ordenador solo puede detectar la presencia o ausencia de tensin en el circuito. Si a la presencia de tensin en un punto del circuito le asignamos el valor 1 y a la ausencia de la misma el valor 0 (a esta lgica se la denomina lgica positiva). Caso contrario la denominaremos lgica negativa. Por las razones antes vistas, ya que el hardware por el momento solo reconoce estos dos estados fue necesario crear un sistema de numeracin basado en estos dos valores (0, 1), al cual se lo denomin Binario, y cuya base por lo tanto es 2 (nmeros de dgitos del sistema). En computacin cada dgito de un nmero representado en este sistema se denomina bit (contraccin de binary digit). Como mltiplos del bit hallamos: 8 bits Byte (palabra) B (10110110) 1024 bytes 1 kilobyte KB 1024 KB 1 Megabyte MB 1024 MB 1 Gigabyte GB 1024 GB 1 Terabyte TB 1024 TB 1 Petabyte PB 1024 PB 1 Zettabyte ZB 1024 ZB 1 Yottabyte YB

10

11

Es un sistema cuya base es el nmero 8, es decir, utiliza 8 smbolos para la representacin de un valor cualquiera. Estos smbolos son: 0 1 2 3 4 5 6 7 Este es un sistema tambin posicional, de aritmtica muy similar al decimal. Su utilizacin comenz como sistema de salida de las computadoras ya que para representar un valor la cantidad de smbolos que necesita es menor que el binario y la conversin entre ambos sistemas es muy sencilla de implementar.

Es un sistema cuya base es el nmero 16, es decir, utiliza 16 smbolos para la representacin de un valor cualquiera. Estos smbolos son: 0 1 2 3 4 5 6 7 8 9 A B C D E F

Este es otro sistema posicional, de caracterstica similar al octal. Su uso fue adoptado por idnticas razones que el octal.

12

Conversin decimal a binario Para convertir un nmero decimal entero a binario, este debe ser dividido por dos y repetir el proceso con sus cocientes hasta que el cociente tome el valor 1. La unin de todos restos escritos en orden inverso encabezados por el ltimo cociente, nos dar el valor expresado en binario. Ej. : Convertir el nmero 174 a binario 174 2 0 87 2 1 43 2 1 21 1

2 10 0

2 5 1

2 2 0

2 1

= 101011102

13

Conversin decimal a binario Para convertir una fraccin decimal a binario, esta fraccin debe ser multiplicada por dos y tomamos la parte entera del resultado, repetimos el proceso con la parte fraccionaria del resultado anterior, dndonos una nueva parte entera, y as sucesivamente hasta que la parte fraccionaria se haga 0 (cero) o que tengamos suficientes decimales que nos permita estar debajo de un determinado error. Ej. : Convertir el nmero 0,90625 a fraccin binaria 0,90625 * 2 = 1,8125 0,8125 * 2 = 1,625 0,625 * 2 = 1,25 0,25 * 2 = 0,5 0,5 * 2 = 1, 0,9062510 = 0,111012

Si se desea convertir un nmero que tiene parte entera y decimal a binario, se deber operar cada parte por separado como ya se ha visto, y luego obtener la suma de los resultados. Por ejemplo: 174,9062510 = 10101110,111012
14

15

Conversin binario a decimal En los casos de nmeros que posean parte entera y decimal se recomienda el uso del teorema fundamental de la numeracin. Ej.: Convertir 1101,0112 a base 10 Para pasar a base 10 deberemos hacer: 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 1101,0112 = 13,37510 = 13,375 = =

16

Conversin octal a binario Al ser la base del octal (8) potencia de la base binaria (23), la transformacin de una base a la otra se hace en forma directa dgito a dgito. Cada dgito octal ser reemplazado por 3 dgitos binarios (3 por ser la potencia que relaciona ambas bases), segn la tabla que tenemos a continuacin. Ej.: Convertir a binario el nmero 276,5348

276,5348 = 10111110,10101112 Como se puede ver los ceros al comienzo se han quitado, igual que los ceros que se hallan a la derecha de la coma (ya que no tienen ningn sentido).

17

Conversin binario a octal Esta conversin es similar a la anterior, pero cada tres smbolos binarios corresponde uno octal. Para realizar correctamente esta conversin el nmero de dgitos a la derecha de la coma decimal debe ser mltiplo de 3 si no lo fuera deber agregarse al final del nmero tantos ceros como sea necesario. Idntico caso ser a la izquierda de la coma, en dicho caso los ceros se agregan al principio del nmero. Ej. Convertir el binario 10101011,0011 a octal.

0 cero agregado al nmero para permitir la correcta conversin. 10101011,00112 = 253,148

18

Conversin hexadecimal a binario Por idnticas razones que el caso anterior (16 = 24), la transformacin de una base a la otra se hace en forma directa dgito a dgito. Cada dgito hexadecimal ser reemplazado por 4 dgitos binarios (4 por ser la potencia que relaciona ambas bases), segn la tabla que tenemos a continuacin.

Ej.:

Convertir a binario el nmero 5A8,39C16

5A8,39C16 = 10110101000,00111001112 Como se puede ver otra vez los ceros al comienzo se han quitado, igual que los ceros que se hallan a la derecha de la coma (ya que no tienen ningn sentido).
19

Conversin binario a hexadecimal Esta conversin es similar a la conversin a octal, pero en lugar de tres, sern cuatro smbolos binarios los que corresponde a un hexadecimal. Para realizar correctamente esta conversin el nmero de dgitos a la derecha de la coma decimal debe ser mltiplo de 4 si no lo fuera deber agregarse al final del nmero tantos ceros como sea necesario. Idntico caso ser a la izquierda de la coma, en dicho caso los ceros se agregan al principio del nmero. Ej. Convertir el binario 1010101011,00111 a hexadecimal.

0 cero agregado al nmero para permitir la correcta conversin. 1010101011,00111


2

= 2AB,38(16

20

Conversin decimal a octal o hexadecimal Para cualquiera de estos dos casos se har en forma similar a la explicada para convertir de decimal a binario 1.7.1. Pero se deber tener en cuenta que la base ya no es 2, sino 8 o 16 segn corresponda. (Dividir por 8 o 16) Conversin octal o hexadecimal a decimal Para cualquiera de estos dos casos se deber usar el teorema fundamental de la numeracin, teniendo en cuenta base que corresponda ( 8 o 16 segn el caso). Conversin octal a hexadecimal o hexadecimal a octal. Estas conversiones no son posibles en una forma directa. Para realizar cualquiera de ellas se deber usar el pasaje a otra base como paso intermedio. Por ejemplo octal decimal hexadecimal Se recomienda como metodologa de trabajo esta ltima, porque al ser las operaciones de conversin ms sencillas disminuye la probabilidad de error. Adems no existe la posibilidad de errores de redondeo. octal binario hexadecimal

21

Existen diversas formas de representar un nmero entero en un ordenador (todos en sistema binario), entre ellas son:

En todos los casos se considera que tenemos un nmero limitado de dgitos para cada elemento numrico. El nmero de dgitos disponibles lo representa N (8, 16, 32, 64 o sea 1, 2, 3, 4... Bytes).

22

Mdulo y signo. En este mtodo se utiliza el primer bit a la izquierda como signo, 0 si es positivo y uno si es negativo. Los restantes (7, 15, etc.), representan el mdulo Signo Mantisa 19 se representa en 8 bits como 0 0010011 -19 1 0010011 19 se representa en 16 bits como 0 000000000010011 -19 1 000000000010011 El conjunto de valores que se puede representar en un mtodo determinado se conoce como rango de la representacin. Para mdulo y signo el rango de representacin para N dgitos es: - 2N-1 +1 x 2N-1 -1 Por ejemplo

Para 1 Byte (8 bits) es -127 x 127 Para 2 Byte (16 bits) es -32767 x 32767 Para 4 Byte (32 bits) es -2147483647 x 2147483647 Este mtodo tiene la ventaja de poseer un rango simtrico, pero la desventaja de poseer dos representaciones para el nmero 0
23

Complemento a 1 (C-1) Para representar un nmero positivo es igual al mtodo de MS. Pero en el caso de los negativos, se obtiene complementando al positivo (cambiando 1 por 0 y viceversa) Por ejemplo Signo Mantisa 19 se representa en 8 bits como 0 0010011 -19 1 1101100 19 se representa en 16 bits como 0 000000000010011 -19 1 111111111101100 Para complemento a 1 el rango de representacin para N dgitos es: - 2N-1 +1 x 2N-1 -1 Para 1 Byte (8 bits) es Para 2 Byte (16 bits) es Para 4 Byte (32 bits) es Este mtodo presenta iguales -127 x 127 -32767 x 32767 -2147483647 x 2147483647 ventajas y desventajas que el anterior.

24

Complemento a 2 (C-2) Este mtodo es similar al anterior, la representacin de los nmeros positivos es igual a la anterior, pero los negativos se obtiene en dos pasos: Se complementa a 1 Al resultado se le suma 1 Por ejemplo: 19 se representa en 8 bits como 0 0010011 -19 1 1101100 C-1 + 1 -19 1 1101101 C-2 Para complemento a 2 el rango de representacin para N dgitos es: - 2N-1 x 2N-1 -1 Para 1 Byte (8 bits) es Para 2 Byte (16 bits) es Para 4 Byte (32 bits) es -128 x 127 -32768 x 32767 -2147483648 x 2147483647

Presenta la siguientes ventajas. Tiene una nica representacin para 0, la segunda es que en lugar de hacer A B, puedo hacer A + BC-2. La unidad aritmtico lgica del microprocesador solo suma, no resta. 25

Exceso a 2 elevado a la N 1

En este mtodo no hay bit de signo, todos los bits se utilizan para representar el valor del nmero ms el exceso, que para N bits viene dado por 2N-1, que para una representacin de 8 bits es 128. Para obtener un nmero en un exceso dado, se realiza la suma algebraica del exceso ms el nmero. Solo se pueden representar valores en mdulo menores o iguales al exceso. Ej. Exceso 128 10000000 19 + 00010011 19 en exceso 128 10010011 Por ejemplo 19 se representa en 8 bits como -19

1 0

0010011 1101101

26

Exceso a 2 elevado a la N 1 En este mtodo el 0 tiene nica representacin, el rango de representacin es asimtrico. Para complemento a 2 el rango de representacin para N dgitos es: - 2N-1 x 2N-1 -1 Para 1 Byte (8 bits) es -128 x 127 Para 2 Byte (16 bits) es -32768 x 32767 Para 4 Byte (32 bits) es -2147483648 x 2147483647 La representacin en exceso para un nmero cualquiera es igual a la representacin en complemento a dos pero el valor del primer bit de la izquierda esta invertido.

27

Muchos estudiantes consideran que el ordenador puede trabajar con nmeros con cantidades de cifras infinitamente grandes. Este preconcepto es uno de los ms errneos que se puede detectar en el alumno. Todo ordenador cuenta con un nmero finito de Bytes para poder almacenar una cifra. Este nmero puede ser de 1, 2, 4, 6, 8, 10 Bytes, pero nunca infinito. Por lo tanto solo se podr ingresa, procesar, almacenar y extraer un rango de valores. Coma Flotante es un mtodo que nace de la necesidad de representar nmeros reales o enteros con un rango mayor que el dado por los otros mtodos. En su representacin se utiliza la representacin matemtica NO = mantisa * base exponente A este proceso se lo denomina normalizacin. (Normalizacin IEEE 754) Para estos nmeros se utilizan dos formas de representacin, simple y doble precisin, pero existen otros formatos como real, extended, o comp. Para simple precisin se utiliza 32 bits (4 Bytes), en el segundo caso 64 bits (8 Bytes).

28

Todas las letras, nmeros y smbolos tienen asignados valores codificados con 1 y 0. Tres juegos de cdigos comunes son: ASCII (para las PCs y UNIX y DOS computadoras) EBCDIC (para IBM System 390 computadoras de gran porte) Unicode (para Windows NT y explorador de Web reciente) El cdigo ASCII utiliza 7 bits por carcter, permitiendo 128 diferentes caracteres, lo que es suficiente para el alfabeto en letras maysculas y minsculas y los smbolos de una mquina de escribir corriente adems de algunas combinaciones reservadas para su uso interno. Un cdigo ASCII extendido usa 8 bits por carcter lo que aade otros 128 caracteres posibles. Este juego de cdigos ms amplio permite que se agreguen los smbolos de lenguajes extranjeros y varios smbolos grficos. El Unicode usa 16 bits por carcter, por lo que para los mismos caracteres insume el doble de espacio que con el cdigo ASCII. Pero Unicode puede manejar muchos ms caracteres. La meta de Unicode es representar cada elemento usado en la escritura de cualquier idioma del planeta. La versin 3 de Unicode tiene 49,194 caracteres en lugar de los escasos pocos centenares de caracteres para ASCII y EBCDIC. Todos los idiomas actuales ms importantes del mundo, pueden escribirse con Unicode, incluidas su puntuacin y smbolos especiales para matemtica y geometra.
29

Standard ASCII 7 bits (Caracteres Alfanumricos)

30

Los cdigos de ASCII extendido, del 128 al 255, se asignan a conjuntos de caracteres que varan segn los fabricantes de computadoras y programadores de software. Estos cdigos no son intercambiables entre los diferentes programas y computadoras como los caracteres ASCII estndar. Por ejemplo, IBM utiliza un grupo de caracteres ASCII extendido que suele denominarse conjunto de caracteres IBM extendido para sus computadoras personales. Apple Computer utiliza un grupo similar, aunque diferente, de caracteres ASCII extendido para su lnea de computadoras Macintosh. Por ello, mientras que el conjunto de caracteres ASCII estndar es universal en el hardware y el software de los microordenadores, los caracteres ASCII extendido pueden interpretarse correctamente slo si un programa, computadora o impresora han sido diseados para ello.

31

Unicode
El Estndar Unicode es un estndar de codificacin de caracteres diseado para facilitar el tratamiento informtico, transmisin y visualizacin de textos de mltiples lenguajes y disciplinas tcnicas adems de textos clsicos de lenguas muertas. El trmino Unicode proviene de los tres objetivos perseguidos: universalidad, uniformidad y unicidad. Este estndar es mantenido por el Unicode Technical Committee (UTC), integrado en el Unicode Consortium, del que forman parte con distinto grado de implicacin empresas como: Microsoft, Apple, Adobe, IBM, Oracle, SAP, Google, instituciones como la Universidad de Berkeley, y profesionales y acadmicos a ttulo individual.El Unicode Consortium mantiene estrecha relacin con ISO/IEC, con la que mantiene un acuerdo desde 1991 con el objetivo de mantener la sincronizacin entre sus estndares que contienen los mismos caracteres y puntos de cdigo. El establecimiento de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de codificacin de caracteres existentes, muchos de los cuales estn muy limitados en tamao y son incompatibles con entornos plurilinges.

32

1 - Pasar a base 10 los siguientes nmeros, de las bases indicadas:

2.- Pasar los siguientes nmeros de base 10 a la base indicada:

3.- Completa las siguientes tablas con las transformaciones correspondientes:

33

4.- Se utilizaran 8 bits para la representacin:

5.- Pasar el siguiente decimal a la base indicada:

34

6. - Pasar a las bases indicadas:

7. - Realizar las siguientes sumas:

35

8. - Realizar las siguientes restas:

9. - Realizar las siguientes operaciones considerando que estn en C-1:

36

10.- Realizar las siguientes restas en base 2.

11. - Escribir con notacin exceso 2n-1 (8 bit)

12.- Escribir en C-2 (en 16 bits):

37

13. - Pasar a base 10 los nmeros (16 bits complemento a dos):

14. - Escribir con notacin exceso exceso 2n-1 (8 bit)

15. - Escribir en C-2 (en 16 bits):

38

16. Realizar 1) + 2) y 1) - 4)

Departamento de Informtica y Comunicacin IES San Juan Bosco (Lorca-Murcia)


Profesor: Juan Antonio Lpez Quesada

39