Sei sulla pagina 1di 11

OBJETIVOS.

En este tema se vern los aspectos relacionados con la representacin de la


informacin en el interior de las computadora, tanto la representacin de informacin
numrica como no numrica. Tambin se analizan los aspectos prcticos de los sistemas
de numeracin matemticos desde el punto de vista de su aplicacin en Informtica, ya
que gran cantidad de las transformaciones de informacin que tienen lugar en la
computadora se fundamentan en los sistemas de numeracin.
Posteriormente se presentan los cdigos de entrada/salida, con los que se traduce la
informacin externa a la computadora en forma comprensible por los elementos internos
del mismo. Tambin se hacen unas consideraciones generales sobre los problemas que
presentan los errores producidos en la transmisin o almacenamiento de informacin, as
como las tcnicas ms bsicas para la deteccin automtica de estos errores. Por ltimo
se consideran las transformaciones internas que tienen lugar en la computadora con los
datos en cdigo de E/S para su adecuacin en la realizacin de operaciones aritmticas.
1.- INTRODUCCION.
Una computadora es una mquina que procesa informacin. Ms concretamente, la
ejecucin de un programa implica la realizacin de unos tratamientos con unos datos,
segn indica un conjunto ordenado de instrucciones, programa. Lgicamente, para que
la computadora ejecute un programa es necesario darle dos tipos de informaciones: las
instrucciones que forman el programa y los datos con los que debe operar ese programa.
Dos de los aspectos ms importantes que se presentan en Informtica relacionados con
la informacin son cmo representarla y cmo registrarla fsicamente. Ambos
problemas estn ntimamente relacionados y el primero de ellos es el objetivo
fundamental de este captulo. El segundo objetivo se resuelve con soportes de
informacin (discos y cintas magnticas, etc. ) que se estudiarn en el Captulo 4.
Normalmente la informacin se da a la computadora en la forma usual escrita que
utilizan los seres humanos; es decir, con ayuda de un alfabeto o conjunto de smbolos,
que denominaremos caracteres.
Los caracteres que constituyen el alfabeto suelen agruparse en cinco categoras:
Caracteres alfabticos: son las letras maysculas y minsculas del abecedario ingls:
A, B, C, D, E, ..., X, Y, Z, a, b, c, d, ..., x, y, z
Caracteres numricos: estn constituidos por las diez cifras decimales:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
El cero suele marcarse con una raya inclinada (0) para evitar posibles confusiones
con la o mayscula (O).
Caracteres especiales. son los smbolos no incluidos en los grupos anteriores, entre otros
estn los siguientes.
) ( , ./ ; : + = ! ? "& > # < ] [ SP
donde SP se representa el espacio en blanco, tal como el que separa dos palabras.
Caracteres de control: representan rdenes de control, como el carcter indicador de fin
de lnea o el carcter indicador de sincronizacin de una transmisin o de que se emita
un pitido en un terminal, etc. Muchos de los caracteres de control son generados e
insertados por el propio computadora.
Caracteres grficos: son smbolos o mdulos con los que se pueden representar figuras
(o iconos) elementales.

1
En este tema nos restringiremos principalmente a los tres primeros tipos de caracteres,
a veces denominados caracteres-texto. A la agrupacin de los dos primeros tipos se le
denomina conjunto de caracteres alfanumricos.
De la misma forma que una mquina de escribir no suele tener teclas para todos los
caracteres posibles, un sistema de procesamiento de la informacin (perifrico o
procesador) puede no reconocer algunos caracteres (la , por ejemplo). Toda
comunicacin con una computadora convencional se realiza segn los caracteres que
admitan sus dispositivos de E/S, y con ellos los usuarios tienen que expresar cualquier
dato o instruccin. Es decir, toda instruccin o dato se representar por un conjunto de
caracteres tomados del alfabeto definido en el sistema a utilizar. A continuacin vamos a
ver cmo se pueden representar los caracteres en las computadoras.
El diseo de un sistema informtico resulta ms fcil, su realizacin menos compleja
y su funcionamiento muy fiable, si se utilizan slo dos valores o estados posibles para las
variables fsicas que representan los caracteres en los soportes de informacin o en el
interior de la computadora. Como ya se indic, estos valores conceptualmente se
representan por cero (0) y uno (1), y corresponden a dos niveles de tensin (0 voltios y
3.5 voltios, por ejemplo), dos valores de corriente, dos situaciones de una lmpara
(apagada y encendida), etc. En otras palabras, la informacin es retenida por medio de
dos valores de una magnitud fsica (bit) que podemos representar conceptualmente por
ceros y unos.
Al tener que traducir toda la informacin suministrada a la computadora a ceros y
unos, es necesario establecer una correspondencia entre el conjunto de todos los
caracteres
= {A, B, C, D,..., Z, a, b,..., z, 0,1, 2, 3,..., 9, /, +, (, ),...)
y el conjunto binario
= {0,1}n
es decir, es necesario hacer una codificacin o representacin de los elementos de un
conjunto (en este caso ) mediante los de otro conjunto () de forma tal que a cada
elemento de le corresponda un elemento distinto de (n bits).
Estos cdigos de transformacin se denominan cdigos de entrada/salida (E/S) o
cdigos externos y pueden definirse de forma arbitraria. No obstante existen cdigos de
E/S normalizados que son utilizados por diferentes constructores de computadoras; estos
cdigos los estudiaremos ms adelante.
Las operaciones aritmticas con datos numricos se suelen realizar en una
representacin ms adecuada para este objetivo que la obtenida con el cdigo de E/S. Por
ello en la propia computadora se efecta una transformacin entre cdigos binarios,
obtenindose una representacin fundamentada en el sistema de numeracin en base 2,
sistema que puede considerarse como una codificacin en binario ms, pero que al ser
una representacin numrica posicional es muy apta para realizar operaciones aritmticas.
2.- SISTEMAS DE NUMERACIN USUALES EN INFORMTICA.
Las computadoras suelen efectuar las operaciones aritmticas utilizando una
representacin para los datos numricos basada en el sistema de numeracin base dos o
sistema binario (que llamaremos binario natural para no confundir con los cdigos
binario de E/S).
Tambin se utilizan los sistemas de numeracin, preferentemente el octal y
hexadecimal, para obtener cdigos intermedios. Un nmero expresado en uno de estos
dos cdigos puede transformarse directa y fcilmente a binario y viceversa. Con ellos se

2
simplifica la transcripcin de nmeros binarios y se est ms prximo al sistema usado
normalmente (sistema decimal), por lo que a veces se utilizan como paso intermedio en
las transformaciones de decimal a binario y viceversa. Adems, la realizacin electrnica
de codificadores/decodificadores entre binario y un cdigo intermedio es mucho menos
compleja que entre binario y decimal.
2.1. Representacin posicional de los nmeros.
Un sistema de numeracin en base b utiliza para representar los nmeros un alfabeto
compuesto por b smbolos o cifras. As, todo nmero se expresa por un conjunto de cifras,
contribuyendo cada una de ellas con un valor que depende
de la cifra en s, y
de la posicin que ocupe dentro del nmero.
En el sistema de numeracin decimal, o sistema en base 10, que es el que ms se usa,
b = 10 y el alfabeto est constituido por diez smbolos, llamados tambin cifras
decimales:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
y, por ejemplo, el nmero 5.367,24 se puede obtener como suma de:
5 000 + 300 + 60 + 7 + 0,2 + 0,04 = 5.367,24
es decir, se verifica que:
5.367,24 = 5 x 103 + 3 x 102 + 6 x 101 + 7 x 100 + 2 x 10-1 + 4 x 10-2
Se puede observar que cada posicin (unidades, decenas, centenas, millares, etc.) tiene
un peso especifico, as:
posicin 0 unidades peso b0 posicin 2 centenas peso b2
posicin 1 decenas peso b1 posicin 3 millares peso b3
..................
En general que la representacin de un nmero en una base b:
N n4, n3, n2, n1, n0, n-1, n-2, n-3, (1)
tiene una forma abreviada de expresar su valor es la siguiente:
N n4 x b4 + n3x b3 + n2x b2 + n1x b1 + n0x b0 + n-1x b-1 + n-2x b-2 + n-3x b-3 +
(2)
Para representar un nmero resulta ms cmodo que los smbolos del alfabeto o la base
de numeracin sean las menos posibles, pero tambin es cierto que cuanto menor es la
base, mayor es el nmero de cifras que se necesitan para representar una cantidad dada.
Por ejemplo, el valor en binario del nmero decimal 175 es 1111011.
2.2. Sistema de numeracin en base dos.
Como ya se dijo las operaciones aritmticas en una computadora se suelen realizar
usando una representacin para datos y resultados en sistema binario natural. A pesar de
que el cambio del cdigo binario de E/S a la representacin en binario natural se realiza
de forma automtica por la computadora, es conveniente recordar una serie de cuestiones
relativas al sistema binario y a las transformaciones entre ste y el sistema decimal.
2.2.1. Definicin del sistema binario.
En el sistema de numeracin binario b es igual a 2 y Decimal Binario
slo se precisan dos elementos, el conjunto {0, 1}, para 0 000
representar cualquier nmero. 1 001
2 010
3 011

3
Los elementos de este alfabeto se conocen como 4 100
cifras binarias o bits. En la Tabla 1 se muestran los 5 101
nmeros enteros binarios que se pueden formar con tres 6 110
dgitos o bits, que se corresponden con los nmeros 7 111
decimales del 0 al 7.
Tabla 1. Nmeros binarios del 1 al
7.
2.2.1. Pasar un nmero de sistema binario a decimal.
Para transformar un nmero en sistema binario a decimal slo hay que tener en cuenta
las expresiones (1) y (2) en las que b sea igual a 2.
Ejemplo 1.
Transformar a decimal los siguientes nmeros binarios:
110010; 1,1101; 10111,011;
110010)2 = (1 x 2 ) + (1 x 2 ) + (1 x 2 ) = 25 + 24 + 21 = 32 + 16 + 2 = 50)10
5 4 1

1,1101)2 = 20 + 2-1 + 2-2 + 2-4 = 1 + 1/2 + 1/4 + 1/16 = 1,875)10


10111,011)2 = 24 + 22 + 21 + 20 + 2-2 + 2-3 = 16 + 4 + 2 + 1 + 1/4 + 1/8 = 23,375)10
Como se puede ver en el ejemplo anterior, para transformar un nmero de binario a
decimal basta con ir sumando los pesos en las posiciones en que haya un 1, como se
comprueba en el siguiente ejemplo.
Ejemplo 2.
1 0 1 0 , 0 1 )2 = 8 + 2 + = 10,25)10
8 4 2 1 ,

1 0 1 1 0 1 0 )2 = 64 + 16 + 8 + 2 = 80)10
64 32 16 8 4 2 1
2.2.2.Pasar un nmero de sistema decimal a binario.
Para transformar un nmero en sistema decimal a binario se sigue los dos pasos
siguientes:
a) La parte entera del nuevo nmero en binario se obtiene dividiendo por 2, sin obtener
decimales en el cociente, la parte entera del nmero decimal que se quiere convertir
a binario, y los cocientes sucesivos que se vayan obteniendo. Los restos de estas
divisiones y el ltimo cociente, que ser siempre 0 o 1, son las cifras binarias. El
ltimo cociente ser el bit ms significativo y el primer resto ser el bit menos
significativo.
Ejemplo 3.
56)10 en binario es: 56)10 = 111000)2, ya que:
56 2
0 28 2
0 14 2
0 7 2
1 3 2
1 1

4
b) La parte fraccionaria del nuevo nmero en binario se obtiene multiplicando por 2
sucesivamente la parte entera del nmero decimal que se quiere convertir a binario
y las partes fraccionarias que se vayan obteniendo en los productos sucesivos. El
nmero en binario se formar con las partes enteras, que sern siempre 0 o 1, de los
productos obtenidos, como se puede ver en el siguiente ejemplo.
Ejemplo 4.
0,1875)10 en decimal es: 0,1875)10 = 0.0011)2
0,1875 0,3750 0,7500 0,5000
x 2 x 2 x 2 x 2
0,3750 0,7500 1,5000 1,0000
Ejemplo 5.
Transformar a binario el nmero decimal 77,423
a) Parte entera:
77 2
1 38 2
0 18 2
0 9 2
1 4 2
0 2 2
1 1
b) Parte fraccionaria:
0,423 0,846 0,692 0,384 0,768
x 2 x 2 x 2 x 2 x 2
0,846 1,692 1,384 0,768 1,536
Es decir:
77,423)10 = 1101001,01101)2
En este ltimo ejemplo se observa que un nmero decimal con cifras fraccionarias
pude dar lugar a un nmero binario con un nmero de cifras fraccionarias mucho mayor
o incluso infinito. En la computadora si el nmero binario se almacena con nmero
prefijado de bits se producir un error de truncamiento.
2.3. Operaciones aritmticas con variables binarias.
Una variable binaria puede representar, entre otras cosas, una cifra de un nmero en
binario o una variable booelana.
Las operaciones aritmticas bsicas son suma, resta, multiplicacin y divisin. Al ser
la representacin en binario una notacin ponderada (es decir que verifica la expresin
2), estas operaciones son anlogas a las realizadas en decimal pero hay que usar para cada
posicin las tablas siguientes, segn la operacin aritmtica a realizar.
Tabla 2. Suma aritmtica. Tabla 3. Resta aritmtica.
a b a+b a b ab
0 0 0 0 0 0
0 1 1 0 1 1 y me adeudo 1
1 0 1 1 0 1

5
1 1 0 y me llevo 1 1 1 0

Tabla 4. Multiplicacin aritmtica. Tabla 5. Divisin aritmtica.


a b axb a b a/b
0 0 0 0 0 indeterminado
0 1 0 0 1 0
1 0 0 1 0 infinito
1 1 1 1 1 1
Se observa que multiplicar por 10 en binario (es decir, por 2 en decimal) equivale a
aadir un cero la derecha, o a desplazar el punto decimal a la derecha, siendo similar a
multiplicar por 10 un nmero decimal. De igual forma, dividir por 10 en binario (es decir,
por 2 en decimal) se hace desplazando el punto decimal a la izquierda, o eliminando ceros
a la derecha.
Ejemplo 6.
101011,101)2 x 2 = 1010111,01)2
1101,1011)2 x 25 = 110110110)2
1010100)2 / 2 = 101010)2
10110,101)2 / 26 = 0,010110101)2
2.4. Representacin en complementos.
Para representar un nmero negativo se puede usar el complemento de ese nmero a
la base o complemento de ese nmero a la base menos uno del sistema de numeracin
usado. As, como se ver despus, las sumas y restas quedan reducidas a sumas,
independientemente del signo de los operandos. Este sistema de representacin es muy
interesante en el caso de las computadoras, ya que si se usa se reduce la complejidad de
los circuitos de la unidad aritmtico lgica.
El complemento a la base menos uno de un nmero, N, es el nmero que resulta de
restar cada una de las cifras de N a la base menos uno del sistema de numeracin que se
est utilizando.
Se pueden restar dos nmeros sumando al minuendo el complemento a la base menos
uno del sustraendo. Si existe acarreo en el resultado, ste se descarta y se suma al
resultado as obtenido.
Ejemplo 7.
- En base 10.
El complemento a la base menos uno (es decir, a nueve) de 63 es 36;
ya que 99 63 = 36.
El complemento a nueve de 16 es 83; ya que 99-16 = 83.
Supngase que se desea efectuar las operaciones 77 63 y 1.100 16. Para
hacerlo obteniendo el complemento del sustraendo, al calcular este
complemento debe considerarse con el mismo nmero de cifras el minuendo y
el sustraendo y para ello se aaden ceros a la izquierda si es necesario
77 77
63 o + 36
14 (1) 13
+ 1
14

6
1100 o bien, 9999 9999
0016 complemento a 9 de 16 0016 + 9983
1084 9983 (1)0001
+ 0001
1084
- En base 2.
El complemento a la base menos uno (es decir, a uno) del nmero 10010 es
01101
11111
10010
01101
El complemento a uno de 101010 es 010101
111111
101010
010101
Restar 1000111 10010
1000111
0010010
0110101
o usando el complemento a uno de 0010010 = 1101101
1000111
1101101
(1)0110100
+ 0000001
0110101
Se observa claramente que para transformar un nmero binario, N, a complemento a
1 basta con cambiar en N los unos por los ceros y viceversa.
El complemento a la base de un nmero, N, es el nmero que resulta de restar cada
una de las cifras de N a la base menos uno del sistema de numeracin que se est
utilizando y, posteriormente, sumar uno a la diferencia obtenida.
Se pueden restar dos nmeros sumando al minuendo el complemento a la base del
sustraendo y, despreciando, en su caso el acarreo del resultado.
Ejemplo 8.
- En base 10.
El complemento a 10 del nmero 63 es 37
99 36
63 y + 01
36 37
El complemento a 10 del nmero 16 es 84
99 83
16 y + 01
83 84

7
Supngase que queremos efectuar las siguientes operaciones: 7763 y 100
16.
Se pueden realizar de forma directa: 7763 = 14; 100 16 = 84,
o bien, utilizando el complemento del sustraendo.
77 100
+ 37 y + 84
(1)14 (1)84
El complemento a 2 del nmero 10010 es 01110
11111 01101
10010 y + 00001
01101 01110
El complemento a 2 del nmero 101010 es 010110
111111 010101
101010 y + 000001
010101 010110
Supngase que queremos efectuar las siguientes restas: 11001 10010 y
110000 101010. Se pueden realizar de forma directa: 11001 10010 =
00111; 110000 101010 = 00110, o bien, utilizando el complemento del
sustraendo.
11001 110000
+ 01110 y + 010110
(1)00111 (1)001110
Se observa claramente que para transformar un nmero binario, N, a complemento a
2 basta con cambiar en N los unos por los ceros y los ceros por los unos y sumar 1 al
resultado.
Como resumen de las definiciones dadas y al generalizar se tiene que:
Complemento a la base, b, de un nmero N de n cifras es (bn N).
Complemento a la base, b 1, de un nmero N de n cifras es (bn N 1).
2.5. Cdigos intermedios.
Los cdigos intermedios se fundamentan en la facilidad de transformar un nmero en
base 2 a otra base que sea una potencia de 2 (22 = 4; 23 = 8; 24 = 16, etc.), y viceversa.
Usualmente se utilizan como cdigos intermedios los sistemas de numeracin en
base 8
(u octal) y en base 16 (o hexadecimal).
2.5.1.Base octal.
En la base octal, b = 8 y el conjunto de smbolos utilizado es:
{0, 1, 2, 3, 4, 5, 6, 7}
Un nmero octal puede pasarse a binario aplicando los algoritmos vistos con
anterioridad en la Pregunta 2.1. No obstante, al ser b = 8 = 23, puede hacerse la conversin
con facilidad de la siguiente forma.
Para transformar un nmero binario a octal se forman grupos de tres cifras binarias a
partir del punto decimal hacia la izquierda y hacia la derecha. Posteriormente se efecta
directamente la conversin a octal de cada grupo individual.
Si al formar los grupos de cifras ocurre que existe un grupo que no est completo
(tienes menos de 3 cifras) se completa con ceros por la izquierda si el grupo est a la
izquierda del punto decimal o por la derecha si el grupo est a la derecha.

8
Como en la prctica slo es necesario hacer la conversin a octal (o a decimal) de cada
uno los grupos de tres cifras, basta con memorizar la Tabla 1 para poder realizar
rpidamente la conversin a octal.
Ejemplo 9.
n binario 10 101 110 100 , 111 10)2 = 2.564,74)8
n octal 2 5 6 4 , 7 4
n binario 10 110)2 = 26)8
n octal 2 6
De octal a binario se pasa slo convirtiendo individualmente a binario (tres bits) cada
cifra octal, manteniendo el orden del nmero original.
Ejemplo 10.
576,34)8 = 101 111 110 , 011 100)2
5 7 6 , 3 4
132,22)8 = 001 011 010 , 010 010)2
1 3 2 , 2 2
Para pasar de un nmero octal a decimal se aplica la expresin (2) con b = 8. Para
pasar un nmero entero decimal a octal se hacen sucesivas divisiones enteras del nmero
y los sucesivos cocientes por 8 (tal y como se haca por 2). Para transformar la parte
fraccionaria de un nmero decimal a octal se hacen sucesivos productos por 8 (igual que
cuando para pasar a binario se haca por 2).
Ejemplo 11.
1.367,25)8 = 759,328125)10
1.367,25)8 = (1 x 83) + (3 x 82) + (6 x 81) +(7 x 80) + (2 x 8-1) +(5 x 8-2) =
512 + 192 + 48 + 7+ 0,25 + 0,078125 =759,328125)10
760,33)10 = 1.370,2507)8
Parte entera:
760 8
40 95 8
0 15 11 8
7 3 1
Parte fraccionaria:
0,33 0,64 0,12 0,96
x 8 x 8 x 8 x 8
2,64 5,12 0,96 7,68
2.5.2.- Base hexadecimal.
Para representar un nmero en la base hexadecimal, b = 16, es necesario disponer de
un conjunto o alfabeto de 16 smbolos. Se suele usar el siguiente conjunto:
{0, 1, 2, 3, 4, 5, 6, 7, 8,9, A, B, C, D, E, F}
los valores binarios y decimales que corresponden a las cifras hexadecimales se muestran
en la siguiente tabla.
Hexadecimal Decimal Binario

9
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
Tabla 6. Cifras hexadecimales y sus valores decimal y binario.
Al ser b = 16 = 24, se puede hacer que las conversiones de binario a hexadecimal y
viceversa, de forma anloga al sistema octal. Pero aqu utilizaremos grupos de 4 bits en
lugar de grupos de 3 bits.
Si al formar los grupos de cifras ocurre que existe un grupo que no est completo
(tienes menos de 4 cifras) se completa con ceros por la izquierda si el grupo est a la
izquierda del punto decimal o por la derecha si el grupo est a la derecha.
Ejemplo 12.
n binario 10 0101 1110 1010 , 1011 110)2 =
2.5EA,BC)H
n hexadecimal 2 5 E A , B C
es decir:
0010 0101 1110 1010, 1011 1100 = 2.5EA,BC)H
Ejemplo 13.
n hexadecimal 1 A D E 7 , E 4)H
n binario 0001 1010 1101 1110 0111 , 1110 0100)2
es decir:
1A.DE7,E5)H = 1 1010 1101 1110 0111,1110 01)2
De la misma manera que manualmente es muy fcil convertir nmeros de binario a
octal y viceversa, y de binario a hexadecimal y viceversa, tambin es sencillo hacer estas
conversiones electrnicamente o a travs de un programa, por lo que a veces la
computadora usa este tipo de notaciones intermedias internamente o como E/S.
Para transformar un nmero de hexadecimal a decimal se aplica la expresin (2) con
b = 16. Para pasar un nmero entero decimal a hexadecimal se hacen sucesivas divisiones
enteras del nmero y los sucesivos cocientes por 16 (tal y como se haca por 2 o por 8).
Para transformar la parte fraccionaria de un nmero decimal a hexadecimal se hacen
sucesivos productos por 16 (tal y como se haca por 2 o por 8).
Ejemplo 14.
B.3D7,A4)H = 759,328125)10

10
B.3D7,A4)H = (11 x 163) + (3 x 162) + (13 x 161) +(7 x 160) + (10 x 16-1) +(5 x 16-2)
=
45.056 + 768 + 208 + 7+ 0,625 + 0,01953125 = 46.039,64453125)10
9372,79)10 = C.942,CA3D)H
Parte entera:
9372 16
137 585 16
92 105 36 16
12 9 4 2
Parte fraccionaria:
0,79 0,64 0,24 0,84
x 16 x 16 x 16 x 16
12,64 10,24 3,84 13,44
El cdigo octal se suele utilizar cuando el nmero de bits es mltiplo de 3, y el cdigo
hexadecimal cuando dicho nmero es mltiplo de 4.
.

11

Potrebbero piacerti anche