Anda di halaman 1dari 19

Sistemas numricos

Los modernos equipos de cmputo actuales no utilizan el sistema decimal para representar valores numricos, en su lugar se hace uso del sistema binario, tambin llamado complemento de dos. Es importante entender cmo representan las computadoras los valores numricos, en ste captulo analizaremos varios conceptos importantes incluyendo los sistemas binario y hexadecimal, la organizacin binaria de datos (bits, nibbles, bytes, palabras y palabras dobles), sistemas numricos con signo y sin signo, operaciones aritmticas, lgicas, de cambio (shift) y rotacin en valores binarios, campos de bits, empaquetado de datos y el juego de caracteres ASCII.

El sistema numrico decimal


Hemos utilizado el sistema decimal (de base 10) por tanto tiempo que prcticamente lo tomamos como algo natural. Cuando vemos un nmero, por ejemplo el 123, no pensamos en el valor en s, en lugar de sto hacemos una representacin mental de cuntos elementos representa ste valor. En realidad, el nmero 123 representa:
1*102 + 2*101 + 3*100

lo que es lo mismo:
100 + 20 + 3

Cada dgito a la izquierda del punto decimal representa un valor entre cero y nueve veces una potencia incrementada de diez. Los dgitos a la derecha del punto decimal por su parte representan un valor entre cero y nueve veces una potencia decrementada de diez. Por ejemplo, el nmero 123.456 representa:
1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2 + 6*10-3

El sistema numrico binario


Los sistemas de cmputo modernos trabajan utilizando la lgica binaria. Las computadoras representan valores utilizando dos niveles de voltaje (generalmente 0V. y 5V.), con stos niveles podemos representar exctamente dos valores diferentes, por conveniencia utilizamos los

valores cero y uno. stos dos valores por coincidencia corresponden a los dgitos utilizados por el sistema binario. El sistema binario trabaja de forma similar al sistema decimal con dos diferencias, en el sistema binario slo est permitido el uso de los dgitos 0 y 1 (en lugar de 0~9) y en el sistema binario se utilizan potencias de 2 en lugar de potencias de 10. De aqu tenemos que es muy fcil convertir un nmero binario a decimal, por cada "1" en la cadena binaria, sume 2n donde "n" es la posicin del dgito binario a partir del punto decimal contando a partir de cero. Por ejemplo, el valor binario 110010102 representa:
1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 0*20 = 128 + 64 + 8 + 2 = 20210

Para convertir un nmero decimal en binario es un poco ms difcil. Se requiere encontrar aquellas potencias de 2 las cuales, sumadas, producen el resultado decimal, una forma conveniente es trabajar en "reversa" por ejemplo, para convertir el nmero 1359 a binario:

210=1024, 211=2048. Por tanto la mayor potencia de 2 menor que 1359 es 210. Restamos 1024 a 1359 y empezamos nuestro nmero binario poniendo un "1" a la izquierda. El resultado decimal es 1359-1024=335. El resultado binario hasta este punto es: 1. La siguiente potencia de 2 en orden descendente es 29=512 lo que es mayor que el resultado de la resta del punto anterior, por lo tanto agregamos un 0 a nuestra cadena binaria, ahora es: 10. El resultado decimal es an 335. La siguiente potencia es 28=256 por lo que lo restamos a 335 y agregamos 1 a la cadena binaria: 101. El resultado decimal es: 79. 27=128, sto es mayor que 79. Agregamos un 0 a la cadena binaria: 1010 en tanto que el valor decimal es: 79. Restamos 26=64 a 79. La cadena binaria es ahora: 10101. El resultado decimal indica: 15. 15 es menor que 25=32, por tanto, Binario=101010, el valor decimal sigue siendo: 15. 15 es menor que 24=16, de aqu, Binario=1010100, el valor decimal contina en: 15. 23=8 es menor que 15, as que agregamos un 1 a la cadena binaria: 10101001, en tanto que el nuevo valor decimal es: 7.

22 es menor que 7. Binario es ahora: 101010011, el resultado decimal ahora vale: 3. 21 es menor que 3. Binario=1010100111, el nuevo valor decimal es: 1. Finalmente el resultado decimal es 1 lo que es igual a 20 por lo que agregamos un 1 a la cadena binaria. Nuestro resultado indica que el equivalente binario del nmero decimal 1359 es: 10101001111

Formatos binarios
En un sentido estricto, cada nmero binario contiene una cantidad infinita de dgitos, tambin llamados bits que es una abreviatura de binary digits, por ejemplo, podemos representar el nmero siete de las siguientes formas:

111 00000111 000000000000111

Por conveniencia ignoraremos cualquier cantidad de ceros a la izquierda, sin embargo, como las instrucciones compatibles con los procesadores Intel 80x86 trabajan con grupos de ocho bits a veces es ms fcil extender la cantidad de ceros a la izquierda en un mltiplo de cuatro ocho bits, por ejemplo, el nmero siete podemos representarlo as: 01112 000001112. Tambin es conveniente separar en grupos de cuatro dgitos los nmero binarios grandes, por ejemplo, el valor binario 1010111110110010 puede ser escrito as 1010 1111 1011 0010. Adems, en una cadena binaria asignaremos al dgito de la extrema derecha como el bit de posicin cero y cada bit subsecuente se le asignar el siguiente nmero sucesivo, de sta manera un valor binario de ocho bits utiliza los bits cero al siete: X7 X6 X5 X4 X3 X2 X1 X0 Al bit cero se le conoce como el bit de bajo orden en tanto que al bit de la extrema izquierda diferente de cero se le llama bit de alto orden.

Organizacin de datos
En trminos matemticos un valor puede tomar un nmero arbitrario de bits, pero las computadoras por el contrario, generalmente trabajan con un nmero especfico de bits, desde bits sencillos pasando por grupos de cuatro bits (llamados nibbles), grupos de ocho bits (bytes), grupos de

16 bits (words, palabras) y an ms. Como veremos mas adelante, existe una buena razn para utilizar ste orden.

Bits
La ms pequea cantidad de informacin en una computadora binaria es el bit, ste solamente es capaz de representar dos valores diferentes, sin embargo sto no significa que exista una cantidad muy reducida de elementos representables por un bit, todo lo contrario, la cantidad de elementos que se pueden representar con un slo bit es infinito, considere sto, podemos representar por ejemplo, cero uno, verdadero falso, encendido apagado, masculino femenino. Ms an, no estamos limitados a representar elementos antagnicos, un bit sencillo puede representar cualesquiera dos valores, por ejemplo, blanco 432, perro caliente. Y para ir an ms lejos, dos bits adyacentes pueden representar cosas completamente independientes entre s, lo que se debe tener en cuenta es que un bit sencillo slo puede representar dos cosas a la vez. Esta caracterstica otorga a las computadoras binarias un campo infinito de aplicaciones.

Nibbles
Un nibble es una coleccin de cuatro bits, sto no representara una estructura interesante si no fuera por dos razones: El Cdigo Binario Decimal (BCD por sus siglas en ingls) y los nmeros hexadecimales. Se requieren cuatro bits para representar un slo dgito BCD hexadecimal. Con un nibble se pueden representar 16 valores diferentes, en el caso de los nmeros hexadecimales, cuyos valores 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, y F son representados con cuatro bits. El BCD utiliza diez dgitos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) e igualmente se requiere de cuatro bits. De hecho se puede representar 16 elementos diferentes con un slo nibble pero los dgitos hexadecimales y BCD son los principales representados por un nibble.

Bytes
Todava se puede decir que el byte es la estructura de datos ms importante utilizada por los procesadores 80x86. Un byte est compuesto de ocho bits y es el elemento de dato ms pequeo direccionable por un procesador 80x86, sto significa que la cantidad de datos ms pequea a la que se puede tener acceso en un programa es un valor de ocho bits. Los bits en un byte se enumeran del cero al siete de izquierda a derecha, el bit 0 es el bit de bajo orden el bit menos significativo mientras que el bit 7 es el bit de alto orden el bit ms

significativo. Nos referimos al resto de los bits por su nmero. Observe que un byte est compuesto de dos nibbles. Como un byte contiene ocho bits, es posible representar 28, 256 valores diferentes. Generalmente utilizamos un byte para representar valores numricos en el rango de 0 ~ 255, nmeros con signo en el rango de -128 ~ +127, cdigos de caracter ASCII y otros tipos de datos especiales que no requieran valores diferentes mayores que 256.

Words (palabras)
Una palabra (word) es un grupo de 16 bits enumerados de cero hasta quince, y al igual que el byte, el bit 0 es el bit de bajo orden en tanto que el nmero quince es el bit de alto orden. Una palabra contiene dos bytes, el de bajo orden que est compuesto por los bits 0 al 7, y el de alto orden en los bits 8 al 15. Naturalmente, una palabra puede descomponerse en cuatro nibbles. Con 16 bits es posible representar 216 (65,536) valores diferentes, stos podran ser el rengo comprendido entre 0 y 65,535, como suele ser el caso, de -32,768 hasta +32,767. Tambin puede ser cualquier tipo de datos no superior a 65,536 valores diferentes.

El sistema numrico hexadecimal


Un gran problema con el sistema binario es la verbosidad. Para representar el valor 20210 se requieren ocho dgitos binarios, la versin decimal slo requiere de tres dgitos y por lo tanto los nmeros se representan en forma mucho ms compacta con respecto al sistema numrico binario. Desafortunadamente las computadoras trabajan en sistema binario y aunque es posible hacer la conversin entre decimal y binario, ya vimos que no es precisamente una tarea cmoda. El sistema de numeracin hexadecimal, o sea de base 16, resuelve ste problema (es comn abreviar hexadecimal como hex aunque hex significa base seis y no base diecisis). El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversin hacia el formato binario, debido a sto, la mayora del equipo de cmputo actual utiliza el sistema numrico hexadecimal. Como la base del sistema hexadecimal es 16, cada dgito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el nmero 123416 es igual a:
1*163 + 2*162 + 3*161 + 4*160

lo que d como resultado:

4096 + 512 + 48 + 4 = 466010

Cada dgito hexadecimal puede representar uno de diecisis valores entre 0 y 1510. Como slo tenemos diez dgitos decimales, necesitamos "inventar" seis dgitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos smbolos para stos dgitos, utilizamos las letras A a la F. La conversin entre hexadecimal y binario es sencilla, considere la siguiente tabla:
Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

sta tabla contiene toda la informacin necesaria para convertir de binario a hexadecimal y visceversa. Para convertir un nmero hexadecimal en binario, simplemente sustituya los correspondientes cuatro bits para cada dgito hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:
0 A B C D (Hexadecimal) 0000 1010 1011 1100 1101 (Binario)

Por comodidad, todos los valores numricos los empezaremos con un dgito decimal; los valores hexadecimales terminan con la letra h y los valores binarios terminan con la letra b. La conversin de formato binario a hexadecimal es casi igual de fcil, en primer lugar necesitamos asegurar que la cantidad de dgitos en el valor binario es mtiple de 4,

en caso contrario agregaremos ceros a la izquierda del valor, por ejemplo el nmero binario 1011001010, la primera etapa es agregarle dos ceros a la izquierda para que contenga doce ceros: 001011001010. La siguiente etapa es separar el valor binario en grupos de cuatro bits, as: 0010 1100 1010. Finalmente buscamos en la tabla de arriba los correspondientes valores hexadecimales dando como resultado, 2CA, y siguiendo la convencin establecida: 02CAh. Volver al principio

Operaciones aritmticas y lgicas


Existen varias operaciones aritmticas que se pueden ejecutar en nmeros binarios y hexadecimales, por ejemplo, podemos sumar, restar, multiplicar, dividir y otras operaciones aritmticas ms, aunque es aconsejable que Usted sepa ejecutar stas operaciones a mano, es ms recomendable que haga uso de una calculadora apropiada, bsicamente para evitar errores ya que nuestro pensamiento est condicionado por aos al sistema numrico de base 10. Por otra parte, al intentar ejecutar una operacin aritmtica en formato binario es fcil caer en errores debido a la verbosidad mencionada, en ste caso es recomendable que primero haga la conversin a formato hexadecimal, ejecute las operaciones necesarias y finalmente vuelva a convertir el resultado a formato binario.

Operaciones lgicas en bits


Existen cuatro operaciones principales que Usted puede ejecutar en nmeros binarios y hexadecimales: AND, OR, XOR (OR exclusivo), y NOT. Al contrario de las operaciones aritmticas, no se requiere calculadora para ejecutar stas operaciones, por lo general es ms fcil y rpido ejecutarlas a mano que valiendose de una calculadora. La operacin lgicaAND es como sigue: 0 0 1 1 and and and and 0 1 0 1 = = = = 0 0 0 1

Las operaciones lgicas se pueden representar con una tabla llamada tabla de verdad, es parecida a las tablas aritmticas que sirven

para sumar multiplicar, la columna de la izquierda y el rengln superior representan los valores de entrada de la operacin especificada, el valor encontrado en la interseccin de la columna y el rengln para un particular par de valores de entrada es el resultado de adicionar (ANDing) ambos valores. En palabras comunes, la operacin AND se describe as, "si el primer valor y (and) el segundo valor son 1, el resultado es 1, caso contrario el resultado es 0".
AND 0 1 0 0 0 1 0 1

Un hecho importante acerca de la operacin lgica AND es que se puede utilizar para forzar un resultado a cero, si uno de los operandos es cero, el resultado es siempre cero independientemente del otro operando, esto se puede verificar en la tabla de verdad de arriba en donde tanto el rengln como la columna que contienen ceros el resultado es cero, por el contrario, si uno de los operandos contiene 1, el resultado es exctamente el valor del otro operando. sta caracterstica de la operacin lgica AND es muy importante, particularmente con cadenas de bits en donde deseamos forzar algn bit individual de la cadena a cero. El operador lgico OR se define as: 0 0 1 1 OR OR OR OR 0 1 0 1 = = = = 0 1 1 1

La tabla de verdad tiene la siguiente forma:


OR 0 1 0 0 1 1 1 1

En palabras decimos: si el primero de los operandos (OR) el segundo de los operandos ( ambos) es 1, el resultado es 1, de lo contrario el resultado es 0. A sta operacin lgica tambin se le conoce como OR inclusivo. Si uno de los operandos es uno, el resultado es siempre uno independientemente del valor del segundo operando, si uno de los operandos es cero, el resultado es siempre el valor del segundo operando. sto es importante como veremos ms adelante.

La operacin lgica XOR (OR exclusivo) se define as: 0 0 1 1 XOR XOR XOR XOR 0 1 0 1 = = = = 0 1 1 0

La tabla de verdad es la siguiente:


XOR 0 1 0 0 1 1 1 0

Si el primer operando el segundo operando pero no ambos, es uno, el resultado es uno, de lo contrario el resultado es cero. Si uno de los operandos en la operacin lgica OR exclusivo es uno, el resultado es siempre el inverso del otro operando. sta caracterstica le permite invertir bits selectivamente en una cadena de bits. El operador lgico NOT acepta solamente un operando y est definido como: NOT 0 = 1 NOT 1 = 0 La tabla de verdad es la siguiente:
NOT 0 1 1 0

Operaciones lgicas en nmeros binarios y cadenas de bits


Como dijimos en la seccin previa, las funciones lgicas trabajan slo con operandos de un solo bit, como las computadoras utilizan grupos de ocho, diecisis treinta y dos bits, necesitamos extender la definicin de stas funciones para trabajar con ms de dos bits. Las funciones lgicas en los procesadores 80x86 operan en una base de bit por bit (en ingls esbitwise). Dados dos valores en determinada posicin, las funciones producen el resultado de la respectiva posicin, por ejemplo, para calcular la operacin lgica AND en los siguientes dos nmeros de ocho

bits se debe ejecutar la operacin lgica AND en cada columna, independientemente de las dems:
1011 0101 1110 1110 --------1010 0100

sta forma de ejecutar bit por bit (bitwise) puede fcilmente ser aplicada a otras operaciones lgicas. Como hemos definido las operaciones lgicas en trminos de valores binarios encontrar que es mucho ms fcil de sta manera que utilizando otras bases, por tanto es recomendable hacer la conversin a formato binario. Volver al principio

Nmeros con signo y sin signo


Hasta ste momento, hemos tratado a los nmeros binarios como valores sin signo, el nmero binario ...00000 representa al cero, ...00001 representa al uno, ...00010 representa al dos, y as seguido, pero Qu hay con los nmeros negativos? En sta seccin discutiremos cmo representar nmeros negativos utilizando el sistema de numeracin binario. Para representar nmeros con signo utilizando el sistema de numeracin binario tenemos que colocar una restriccin a nuestros nmeros, stos deben tener un nmero finito y fijo de bits. En lo que concierne a los procesadores 80x86 sta restriccin no es muy importante, despus de todo, los 80x86 slo pueden direccionar un nmero finito de bits. Para nuestros propsitos limitaremos el nmero de bits a ocho, 16, 32 otro nmero pequeo de bits. Con un nmero fijo de bits slo podemos representar un cierto nmero de objetos, por ejemplo, con ocho bits slo podemos representar 256 objetos diferentes. Los valores negativos son objetos por su propio derecho al igual que los nmeros positivos, por tanto necesitamos utilizar algunos de los 256 valores diferentes para representar a los nmeros negativos, en otras palabras, utilizaremos algunos de los nmeros positivos para representar nmeros negativos, y an ms, asignaremos la mitad de las posibles combinaciones para los nmeros negativos y la otra mitad para los nmeros positivos. As podemos representar los valores negativos que van del -128...-1 y los valores positivos del 0...127 con un solo byte de ocho bits. Con una palabra de

16 bits podemos representar valores en el rango de -32,768 hasta +32,767. Con una palabra doble de 32 bits se pueden representar valores que van de -2,147,483,648 hasta +2,147,483,647. En general, con n bits podemos representar los valores con signo en el rango comprendido entre -2n-1 hasta 2n-1-1. Bien, Cmo podemos representar valores negativos? Existen muchas formas pero los procesadores 80x86 utilizan la notacin de complemento de dos, en ste sistema, el bit de alto orden de un nmero es el bit de signo. Si el bit de alto orden es cero el nmero es positivo, si el bit de alto orden es uno, el nmero es negativo. En el caso de un nmero positivo, ste es almacenado como un valor binario estndar, pero si el nmero es negativo ste es almacenado en la forma de complemento de dos, para sto se utiliza el siguiente algoritmo: 1. Se invierten todos los bits en el nmero, es decir, se aplica la funcin lgica NOT. 2. Se agrega uno al resultado invertido. Por ejemplo, para calcular el equivalente en ocho bits de -5:
0000 0101 1111 1010 1111 1011 cinco (en binario) Se invierten todos los bits. Se suma uno para obtener el resultado.

Si tomamos el valor de menos cinco y le ejecutamos la operacin de complemento de dos obtenemos el valor original, como es de esperarse:
1111 1011 0000 0100 0000 0101 complemento de dos para -5. se invierten todos los bits. se suma uno para obtener el resultado (+5).

Volver al principio

Operaciones de corrimiento y rotacin


Otro juego de operaciones lgicas que podemos aplicar a cadenas de bits son las operaciones de corrimiento y rotacin, stas dos categorias pueden dividirse en corrimiento a la izquierda, rotacin a la izquierda, corrimiento a la derecha y rotacin a la derecha. La operacin de corrimiento a la izquierda mueve cada bit en una cadena una posicin a la izquierda, esto es, el bit de la posicin cero se mueve a la posicin uno, el valor previo en la posicin uno se mueve a la posicin

dos, etc. sto nos hace reflexionar en un par de asuntos, Qu valor se asigna a la posicin cero? y, A donde se v el valor del bit siete? Las respuestas son las siguientes, en el bit de bajo orden se coloca el valor de cero en tanto que el valor previo de la posicin siete se convierte en el arrastre de la operacin. Observe que al correr el valor a la izquierda es lo mismo que multiplicarlo por su base, por ejemplo, correr un nmero decimal una posicin a la izquierda (agregando un cero a la derecha del nmero) efectivamente lo estamos multiplicando por diez (que es el valor de la base). Como la base de un nmero binario es dos, correr a la izquierda equivale a multiplicar el valor por dos, si Usted corre a la izquierda un valor binario dos veces, Usted lo est multiplicando dos veces por dos, o sea por cuatro, en general, si Usted corre a la izquierda un valor n veces, Usted est multiplicando ese valor por 2n. La operacin de corrimiento a la derecha es similar al corrimiento por la izquierda, excepto que los datos se mueven en la direccin contraria. Como el corrimiento a la izquierda equivale a la multiplicacin por el valor de la base, el corrimiento a la derecha equivale a la divisin por el valor de la base. Si se ejecutan n corrimientos a la derecha, Usted est dividiendo ese nmero por 2n. En el caso del corrimiento a la derecha existe una excepcin, la operacin de corrimiento a la derecha equivale a una divisin sin signo por el valor de la base, esto ocurre porque durante la operacin de corrimiento colocamos el valor de cero en el bit de alto orden, si ste bit contiene un uno (estamos hablando de un nmero negativo) equivale a cambiar de signo el nmero en cuestin. Para resolver sta cuestin definimos un nuevo tipo de operacin conocido como corrimiento aritmetico a la derecha, ste trabaja de forma similar al corrimiento lgico a la derecha con una excepcin, el bit de alto orden se deja intacto. El otro par de operaciones son la rotacin a la izquierda y la rotacin a la derecha, stas operaciones son muy similares a las de corrimiento con una diferencia, el bit de arrastre es colocado en el extremo opuesto de la cadena de bits. Volver al principio

Campos de bits y paquetes de datos


Aunque los procesadores 80x86 trabajan con mayor eficacia con tipos de datos como el byte, la palabra, la palabra doble, ocasionalmente

Usted necesitar trabajar con un tipo de dato que utilize cierto nmero de bits diferente de ocho, 16 32. por ejemplo, considere una fecha de la forma "4/2/88". ste toma tres valores numricos para representar la fecha, para el mes, el da y el ao. Los meses, por supuesto, toman valores entre 1 y 12, sto requiere al menos cuatro bits. Los das tienen un rango de entre 1 y 31 as que se requieren cinco bits para representar el valor del da, en tanto que para el ao, asumiendo que trabajamos con slo dos dgitos en el rango de 0 a 99, entonces requerimos siete bits, en total se necesitan 16 bits para representar la fecha, o sea, dos bytes. En otras palabras, empaquetamos la representacion de la fecha en dos bytes en lugar de utilizar tres bytes que son los que hubieran sido necesarios para manejar los datos separadamente, sto ahorra un byte de memoria para cada fecha almacenada. Los bits se pueden ordenar de la siguiente manera:

MMMM representan los cuatro bits para el valor del mes, DDDDD son cinco bits para representar el valor del da, y AAAAAAA son los siete bits para representar el valor del ao. Cada coleccin de bits representando un elemento de la fecha se llama campo de bits. Aunque los valores empaquetados son eficientes en materia de ahorro de memoria, stos son a la vez ineficientes computacionalmente hablando. la razn de sto es porque se requieren instrucciones adicionales para leer los diferentes elementos del paquete de datos, stas instrucciones adicionales se traducen en mayor tiempo de ejecucin del programa, se debe ser cuidadoso al utilizar paquetes de datos. Volver al principio

El cdigo ASCII
El juego de caracteres ASCII (excluyendo los caracteres extendidos definidos por IBM) est dividido en cuatro grupos de 32 caracteres. Los primeros 32 caracteres, del cdigo ASCII 0 hasta el ASCII 1Fh16 (3110) forman un juego especial de caracteres no imprimibles llamados caracteres de control ya que ejecutan varias operaciones de despliegue/impresin en lugar de mostrar smbolos, ejemplo de stos son el retorno de carro que posiciona el llamado cursor al lado izquierdo

de la actual lnea de caracteres, avance de lnea que mueve hacia abajo el llamado cursor una lnea en el dispositivo de salida. Desafortunadamente, los diferentes caracteres de control ejecutan diferentes operaciones dependiendo del dispositivo de salida ya que existe poca estandarizacin al respecto. El segundo grupo de caracteres comprende varios smbolos de puntuacin, caracteres especiales y dgitos numricos, los caracteres mas notables de ste grupo son el caracter de espacio (cdigo ASCII 20h) y los dgitos numricos (cdigos ASCII 30h al 39h). Observe que los digitos numricos difieren de sus respectivos valores slo en el nibble de alto orden, restando 30h de un cdigo numrico ASCII dado se obtiene el equivalente numrico. El tercer grupo de caracteres ASCII est reservado a las letras maysculas. Los cdigos ASCII para los caracteres "A" a la "Z" estn en el rango comprendido entre 41h y 5Ah (65 al 90 decimal). Como stos caracteres estn definidos de acuerdo al alfabeto utilizado en el idioma ingls solo hay 26 diferentes caracteres alfabeticos utilizando los seis cdigos restantes para varios smbolos especiales. El cuarto y ltimo grupo de caracteres ASCII est reservado a las letras minsculas, cinco smbolos especiales adicionales y otro caracter de control (borrar). Los caracteres ASCII para las letras minsculas utilizan los cdigos 61h al 7Ah. Si Usted convierte a binario los cdigos correspondientes a las letras maysculas y minsculas observar que los smbolos para las maysculas difieren de sus respectivas minsculas en una posicin de bit. Las letras maysculas siempre contienen un cero en la posicin cinco en tanto que las letras minsculas contienen un uno en la misma posicin, es posible utilizar ste hecho para convertir de maysculas a minsculas y viceversa. De acuerdo con lo ya expuesto podemos afirmar que los bits de posicin seis y cinco determinan qu caracteres ASCII estamos utilizando de acuerdo a la siguiente tabla:
Bit 6 0 0 1 1 Bit 5 0 1 0 1 Grupo Caracteres de control Dgitos y puntuacin Letras maysculas y caracteres especiales Letras minsculas y caracteres

especiales

En el cdigo estndar ASCII el bit de posicin siete siempre es cero, esto siginifica que el juego de caracteres ASCII consume la mitad de la capacidad de representacin de un byte. IBM utiliza los restantes 128 cdigos de caracter para representar diferentes smbolos especiales incluyendo caracteres internacionales (con respecto a EEUU) como letras acentuadas, smbolos matemticos y caracteres para dibujar lneas. Observe que stos caracteres adicionales no estn estandarizados como una extensin del cdigo ASCII, sin embargo la firma IBM tiene suficiente peso de tal manera que prcticamente todas las computadoras personales basadas en procesadores 80x86 soportan el juego de caracteres extendidos IBM/ASCII. Esto tambin es vlido para las impresoras.

LOS SISTEMAS DE NUMERACIN


SISTEMA BINARIO El sistema binario desempea un importante papel en la tecnologa de los ordenadores. Los primeros 20 nmeros en el sistema en base 2 son 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011 y 10100. Cualquier nmero se puede representar en el sistema binario, como suma de varias potencias de dos. Por ejemplo, el nmero 10101101 representa, empezando por la derecha, (1 20) + (0 21) + (1 22) + (1 23) + (0 24) + (1 25) + (0 26) + (1 27) = 173. Las operaciones aritmticas con nmeros en base 2 son muy sencillas. Las reglas bsicas son: 1 + 1 = 10 y 1 1 = 1. El cero cumple las mismas propiedades que en el sistema decimal: 1 0 = 0 y 1 + 0 = 1. La adicin, sustraccin y multiplicacin se realizan de manera similar a las del sistema decimal: 100101 1011010 +110101 - 110101 1011010 100101 Puesto que slo se necesitan dos dgitos (o bits), el sistema binario se utiliza en los ordenadores o computadoras. Un nmero binario cualquiera se puede representar, por ejemplo, con las distintas posiciones de una serie de interruptores. La posicin encendido corresponde al 1, y apagado al 0. Adems de interruptores, tambin se pueden utilizar puntos imantados en una cinta magntica o disco: un punto imantado representa al dgito 1, y la ausencia de un punto imantado es el dgito 0.

Los biestables ( dispositivos electrnicos con slo dos posibles valores de voltaje a la salida y que pueden saltar de un estado al otro mediante una seal externa ) tambin se pueden utilizar para representar nmeros binarios. Los circuitos lgicos realizan operaciones con nmeros en base 2. La conversin de nmeros decimales a binarios para hacer clculos, y de nmeros binarios a decimales para su presentacin, se realizan electrnicamente SISTEMA DECIMAL O BASE 10 Cuando en una enumeracin se usan 10 smbolos diversos, a esta se le denomina numeracin decimal o basa diez. El valor de cada cifra es el producto de la misma por una potencia de diez (la base), cuyo exponente es igual a la posicin ocupada por la cifra; se supone que las unidades ocupan la posicin 0, la decenas la posicin 1 y as sucesivamente. Por ejemplo, 327 se puede descomponer en: 3 . 102 + 2 . 101 + 7 . 100 = 300 + 20 + 7 = 327 Siguiendo con el mismo razonamiento podemos definir una numeracin binaria o en base 2, donde los smbolos 0 y 1 vistos anteriormente asumen el valor numrico 0 y 1. As, el nmero 10110 escrito en base 2 o binaria equivale al siguiente nmero en base 10 o decimal: 1 . 24 + 0 .23 + 1 . 22 + 1 . 21 + 0 . 20 = 16 + 0 + 2 + 2 + 0 = (22)10 NUMERACIN OCTAL Y HEXADECIMAL El sistema de numeracin hexadecimal utiliza 16 smbolos o signos y el sistema de numeracin octal utiliza solo 8 smbolos. Para comprenderse funcionamiento, retomaremos el numero anteriormente analizado en base 10, (327) y lo estudiaremos en base octal y hexadecimal. BASE 8 U OCTAL Si tenemos el nmero (327)8 su correspondiente valor en base 10 ser: (327) = 3 . 82 + 2 . 81 + 7 . 80 = 192 + 16 + 7 = (215)10 Los signos que se utilizan en base 8 son: 01234567

Una cifra octal equivale a 3 cifras binarias, por lo que el numero escrito en binario se puede convertir en octal dividindolo en grupos de 3 bits, y traduciendo cada uno de ellos en la cifra octal correspondiente. Por ejemplo, el nmero binario 10110, equivale a 26 en octal: 10 110 numero binario descompuesto en grupos de 3 bits. 2 6 equivalente en octal de cada grupo. BASE 16 O HEXADECIMAL Si analizamos el nmero (327)10 , y obtenemos su correspondiente valor en base 10, ser: (327)16 = 3 . 162 + 2 . 161 + 7 . 160 = = 768 + 32 + 7 = (807)10 Por lo que (327)16 = (807)10 Los signo utilizados en base 16 son los que se indican a continuacin: 0123456789ABCDEF El valor de las letras es el siguiente: A= 10; B= 11; C= 12 ; D= 13; E= 14; F= 15 Una cifra hexadecimal contiene la misma informacin que 4 bits, por lo que el numero escrito en binario se puede convertir en hexadecimal dividiendolo en grupos de cuatro bits, y traduciendo cada uno de ellos en la cifra hexadecimal correspondiente. Por ejemplo, el numero 10110equivale a 16 en hexadecimal; la descomposicin seria: 1 0110 numero binario descompuesto en grupos de cuatro bits 1 6 equivalente hexadecimal en cada grupo. El Sistema de Numeracin Maya Los mayas idearon un sistema de base 20 con el 5 cmo base auxiliar. La unidad se representaba por un punto. Dos, tres, y cuatro puntos servan para 2, 3 y 4. El 5 era una raya horizontal, a la que seaadan los puntos necesarios para representar 6, 7, 8 y 9. Para el 10 se usaban dos rayas, y de la misma forma se contina hasta el 20, con cuatro rayas. Hasta aqu parece ser un sistema de base 5 aditivo, pero en realidad, considerados cada uno un solo signo, estos smbolos constituyen las cfras de un sistema de

base 20, en el que hay que multiplicar el valor de cada cifra por 1, 20, 2020, 202020 segn el lugar que ocupe, y sumar el resultado. Es por tanto un sistema posicional que se escribe a arriba abajo, empezando por el orden de magnitud mayor. Al tener cada cifra un valor relativo segn el lugar que ocupa, la presencia de un signo para el cero, con el que indicar la ausencia de unidades de algn orden, se hace imprescindible y los mayas lo usaron, aunque no parece haberles interesado el concepto de cantidad nula. Cmo los babilonios lo usaron simplemente para indicar la ausencia de otro nmero. Pero los cientficos mayas eran a la vez sacerdotes ocupados en la observacin astronmica y para expresar los nmero correspondientes a las fechas usaron unas unidades de tercer orden irregulares para la base 20. As la cifra que ocupaba el tercer lugar desde abajo se multiplicaba por 2018=360 para completar una cifra muy prxima a la duracin de un ao. El ao lo consideraban dividido en 18 uinal que constaba cada uno de 20 das. Se aadan algunos festivos (uayeb) y de esta forma se consegua que durara justo lo que una de las unidades de tercer orden del sistema numrico. Adems de ste calendario solar, usaron otro de carater religioso en el que el ao se divide en 20 ciclos de 13 das. Al romperse la unidad del sistema ste se hace poco prctico para el clculo y aunque los conocimiento astronmicos y de otro tipo fueron notables los mayas no desarrollaron una matemtica ms all del calendario.

Estoy invitando a todos los maestros y profesionales de esta area y/o carrera a colaborar construyendo este sitio dedicado a esta hermosa y util profesion aportando el material apropiado a cada uno de los mas de 1,000 temas que lo componen. Tambien los invito a aportar material a los mas de 30,000 temas que constituyen las 30 carreras profesionales que se imparten en los Institutos Tecnologicos de Mexico y se encuentran en este sitio. www.MiTecnologico.com es un esfuerzo personal y de muchos amigos de MEXICO y el Mundo Hispano por devolver algo de lo mucho que hemos recibido en el proceso de la educacion superior, saludos Prof Lauro Soto, Ensenada, BC, Mexico