Documente Academic
Documente Profesional
Documente Cultură
1.1. - NUMEROS BINARIOS, OCTALES Y HEXADECIMALES. El sistema de numeracin utilizado habitualmente es la base 10; es decir, consta de 10 dgitos (09) que podemos colocar en grupos, ordenados de izquierda a derecha y de mayor a menor. Cada posicin tiene un valor o peso de 10n donde n representa el lugar contado por la derecha: 1357 = 1 x 103 + 3 x 102 + 5 x 101 + 7 x 100 Explcitamente, se indica la base de numeracin como 135710. En un ordenador el sistema de numeracin es binario -en base 2, utilizando el 0 y el 1- hecho propiciado por ser precisamente dos los estados estables en los dispositivos digitales que componen una computadora. Anlogamente a la base 10, cada posicin tiene un valor de 2n donde n es la posicin contando desde la derecha y empezando por 0: 1012 = 1 x 22 + 0 x 21 + 1 x 20 Adems, por su importancia y utilidad, es necesario conocer otros sistemas de numeracin como pueden ser el octal (base 8) y el hexadecimal (base 16). En este ltimo tenemos, adems de los nmeros del 0 al 9, letras -normalmente en maysculas- de la A a la F. Llegar a un nmero en estos sistemas desde base 2 es realmente sencillo si agrupamos las cifras binarias de 3 en 3 (octal) o de 4 en 4 (hexadecimal): Base 2 a base 8: 101 0112 = 538 Base 2 a base 16: 0010 10112 = 2B16 A la inversa, basta convertir cada dgito octal o hexadecimal en binario: Base 8 a base 2: 248 = 010 1002 Base 16 a base 2: 2416 = 0010 01002 De ahora en adelante, se utilizarn una serie de sufijos para determinar el sistema de numeracin empleado: Sufijo Base Ejemplos b o,q d h 2 8 10 16 01101010b 175o 789d 6A5h
En caso de que no aparezca el sufijo, el nmero se considera decimal; es decir, en base 10. 1.2. - CAMBIO DE BASE. Pese a que las conversiones entre base 2 y base 8 y 16 son prcticamente directas, existe un sistema general para realizar el cambio de una base a otra. El paso de cualquier base a base 10 lo vimos antes: 6A5h = 6 x 162 + 10 x 161 + 5 x 160 Inversamente, si queremos pasar de base 10 a cualquier otra habr que realizar sucesivas divisiones por la base y tomar los restos:
donde 4 es el ltimo cociente (menor que la base) y los restantes dgitos son los restos en orden inverso. 1.3. - ESTRUCTURA ELEMENTAL DE LA MEMORIA. 1.3.1. - BIT. Toda la memoria del ordenador se compone de dispositivos electrnicos que pueden adoptar nicamente dos estados, que representamos matemticamente por 0 y 1. Cualquiera de estas unidades de informacin se denomina BIT, contraccin de binary digit en ingls. 1.3.2. - BYTE. Cada grupo de 8 bits se conoce como byte u octeto. Es la unidad de almacenamiento en memoria, la cual est constituida por un elevado nmero de posiciones que almacenan bytes. La cantidad de memoria de que dispone un sistema se mide en Kilobytes (1 Kb = 1024 bytes), en Megabytes (1 Mb = 1024 Kb), Gigabytes (1 Gb = 1024 Mb), Terabytes (1 Tb = 1024 Gb) o Petabytes (1 Pb = 1024 Tb). Los bits en un byte se numeran de derecha a izquierda y de 0 a 7, correspondiendo con los exponentes de las potencias de 2 que reflejan el valor de cada posicin. Un byte nos permite, por tanto, representar 256 estados (de 0 a 255) segn la combinacin de bits que tomemos. 1.3.3. - NIBBLE. Cada grupo de cuatro bits de un byte constituye un nibble, de forma que los dos nibbles de un byte se llaman nibble superior (el compuesto por los bits 4 a 7) e inferior (el compuesto por los bits 0 a 3). El nibble tiene gran utilidad debido a que cada uno almacena un dgito hexadecimal:
Binario Hex. Decimal Binario Hex. Decimal 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 1000 1001 1010 1011 1100 1101 1110 1111 8 9 A B C D E F 8 9 10 11 12 13 14 15
1.4. - OPERACIONES ARITMTICAS SENCILLAS EN BINARIO. Para sumar nmeros, tanto en base 2 como hexadecimal, se sigue el mismo proceso que en base 10:
1010 1010b + 0011 1100b -------------1110 0110b Podemos observar que la suma se desarrolla de la forma tradicional; es decir: sumamos normalmente, salvo en el caso de 1 + 1 = 102 , en cuyo caso tenemos un acarreo de 1 (lo que nos llevamos).
1.5. - COMPLEMENTO A DOS. En general, se define como valor negativo de un nmero el que necesitamos sumarlo para obtener 00h, por ejemplo:
FFh + 01h -----100h Como en un byte solo tenemos dos nibbles, es decir, dos dgitos hexadecimales, el resultado es 0 (observar cmo el 1 ms significativo subrayado es ignorado). Luego FFh=-1. Normalmente, el bit 7 se considera como de signo y, si est activo (a 1) el nmero es negativo.
Por esta razn, el nmero 80h, cuyo complemento a dos es l mismo, se considera negativo (128) y el nmero 00h, positivo. En general, para hallar el complemento a dos de un nmero cualquiera basta con calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y los ceros por unos en su notacin binaria; a continuacin se le suma una unidad para calcular el complemento a dos. Con una calculadora, la operacin es ms sencilla: el complemento a dos de un nmero A de n bits es 2n-A. Otro factor a considerar es cuando se pasa de operar con un nmero de cierto tamao (ej., 8 bits) a otro mayor (pongamos de 16 bits). Si el nmero es positivo, la parte que se aade por la izquierda son bits a 0. Sin embargo, si era negativo (bit ms significativo activo) la parte que se
aade por la izquierda son bits a 1. Este fenmeno, en cuya demostracin matemtica no entraremos, se puede resumir en que el bit ms significativo se copia en todos los aadidos: es lo que se denomina la extensin del signo: los dos siguientes nmeros son realmente el mismo nmero (el -310): 11012 (4 bits) y 111111012 (8 bits). 1.6. - AGRUPACIONES DE BYTES. Tipo Palabra Doble palabra Prrafo Pgina Segmento Definicin 2 bytes contiguos 2 palabras contiguas (4 bytes) 16 bytes 256 bytes, 16 Kb, etc. 64 Kbytes
1.7. - REPRESENTACIN DE LOS DATOS EN MEMORIA. 1.7.1. - NUMEROS BINARIOS: mximo nmero representable: Tipo 1 byte 2 bytes 4 bytes Sin signo 255 65.535 4.294.967.295
8 bytes 18.446.744.073.709.551.615 Tipo 1 byte 2 bytes 4 bytes Positivo 127 32.767 2.147.483.647 Negativo -128 -32.768 -2.147.483.648
Los nmeros binarios de ms de un byte se almacenan en la memoria en los procesadores de Intel en orden inverso: 01234567h se almacenara: 67h, 45h, 23h, 01h. 1.7.2. - NUMEROS BINARIOS CODIFICADOS EN DECIMAL (BCD). Consiste en emplear cuatro bits para codificar los dgitos del 0 al 9 (desperdiciando las seis combinaciones que van de la 1010 a la 1111). La ventaja es la simplicidad de conversin a/de base 10, que resulta inmediata. Los nmeros BCD pueden almacenarse desempaquetados, en
cuyo caso cada byte contiene un dgito BCD (Binary-Coded Decimal); o empaquetados, almacenando dos dgitos por byte (para construir los nmeros que van del 00 al 99). La notacin BCD ocupa cuatro bits -un nibble- por cifra, de forma que en el formato desempaquetado el nibble superior siempre es 0. 1.7.3. - NUMEROS EN PUNTO FLOTANTE. Son grupos de bytes en los que una parte se emplea para guardar las cifras del nmero (mantisa) y otra para indicar la posicin del punto flotante (exponente), de modo equivalente a la notacin cientfica. Esto permite trabajar con nmeros de muy elevado tamao -segn el exponente- y con una mayor o menor precisin en funcin de los bits empleados para codificar la mantisa. 1.7.4. - CDIGO ASCII. El cdigo A.S.C.I.I. (American Standard Code for Information Interchange) es un convenio adoptado para asignar a cada carcter un valor numrico; su origen est en los comienzos de la Informtica tomando como muestra algunos cdigos de la transmisin de informacin de radioteletipo. Se trata de un cdigo de 7 bits con capacidad para 128 smbolos que incluyen todos los caracteres alfanumricos del ingls, con smbolos de puntuacin y algunos caracteres de control de la transmisin. Con posterioridad, con la aparicin de los microordenadores y la gran expansin entre ellos de los IBM-PC y compatibles, la ampliacin del cdigo ASCII realizada por esta marca a 8 bits, con capacidad para 128 smbolos adicionales, experimenta un considerable auge, siendo en la actualidad muy utilizada y recibiendo la denominacin oficial de pgina de cdigos 437 (EEUU). Se puede consultar al final de este libro. Es habitualmente la nica pgina soportada por las BIOS de los PC. Para ciertas nacionalidades se han diseado otras pginas especficas que requieren de un software externo. En las lenguas del estado espaol y en las de la mayora de los dems pases de la UE, esta tabla cubre todas las necesidades del idioma.
1.8. - OPERACIONES LGICAS EN BINARIO. Se realizan a nivel de bit y pueden ser de uno o dos operandos: x NOT (x) 0 1 00 01 10 11 1 0 0 0 0 1 0 1 1 1 0 1 1 0
x y x AND y x OR y x XOR y
Note que al sumar 1 + 1 es 102, es decir, llevamos 1 a la siguiente posicin de la izquierda (acarreo). Esto es equivalente, en el sistema decimal a sumar 9 + 1, que da 10: cero en la posicin que estamos sumando y un 1 de acarreo a la siguiente posicin. Ejemplo
1 10011000 + 00010101 10101101
Se puede convertir la operacin binaria en una operacin decimal, resolver la decimal, y despus transformar el resultado en un (nmero) binario. Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama acarreo o arrastre). A continuacin se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal).
La resta 0 - 1 se resuelve igual que en el sistema decimal, tomando una unidad prestada de la posicin siguiente: 0 - 1 = 1 y me llevo 1, lo que equivale a decir en el sistema decimal, 2 - 1 = 1. Ejemplos
10001 -01010 00111 11011001 -10101011 00101110
En sistema decimal sera: 17 - 10 = 7 y 217 - 171 = 46. Para simplificar las restas y reducir la posibilidad de cometer errores hay varios mtodos:
Dividir los nmeros largos en grupos. En el siguiente ejemplo, vemos cmo se divide una resta larga en tres restas cortas:
100110011101 -010101110010 010000101011 1001 -0101 0100 1001 -0111 0010 1101 -0010 1011
Utilizando el complemento a dos (C2). La resta de dos nmeros binarios puede obtenerse sumando al minuendo el complemento a dos del sustraendo.
En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el nmero resultante no puede ser ms largo que el minuendo, el bit sobrante se desprecia. Un ltimo ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el complemento a dos:
11011011 -00010111 11000100 el C2 de 00010111 es 11101001 11011011 +11101001 111000100
Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 11000100 en binario, 196 en decimal.
Utilizando el complemento a uno. La resta de dos nmeros binarios puede obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez sumarle el bit que se desborda.
En sistemas electrnicos, donde suelen usarse nmeros mayores, se utiliza el mtodo llamado algoritmo de Booth.
11101111 111011 __________ 11101111 11101111 00000000 11101111 11101111 11101111 ______________ 11011100010101
111 = 7
111 = 7 001 = 1 11 entonces agregue un cero, con lo que se obtiene 011 = 3 Agrupe de izquierda a derecha: 317
Si el nmero binario tiene parte decimal, se agrupa de tres en tres desde el punto decimal hacia la derecha siguiendo los mismos criterios establecidos anteriormente para nmeros enteros. Por ejemplo: 0.01101 (binario) = 0.32 (octal) Proceso: 011 = 3 01 entonces agrege 010 = 2 Agrupe de izquierda a derecha: 32 Agrege la parte entera: 0.32
247 (octal) = 010100111 (binario). El 2 en binario es 10, pero en binario de 3 bits es Oc(2) = B(010); el Oc(4) = B(100) y el Oc(7) = (111), luego el nmero en binario ser 010100111.
Nmero en hexadecim 0 al
0101 = 5 1111 = F 110 entonces agregue 0110 = 6 Agrupe de derecha a izquierda: 6F5
[editar] Tabla de conversin entre decimal, binario, hexadecimal, octal, BCD, Exceso 3 y Gray o Reflejado
Decimal Binario Hexadecimal Octal 0 1 2 3 4 5 6 7 8 9 10 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 0 1 2 3 4 5 6 7 8 9 A 0 1 2 3 4 5 6 7 10 11 12 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0011 0100 0101 0110 0111 1000 1001 Exceso 3 Gray o Reflejado 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111
11 12 13 14 15
B C D E F
13 14 15 16 17
0001 0001 1011 0001 0010 1100 0001 0011 0001 0100 0001 0101
[editar] Factorializacin
Binario Factor binario Hexadecimal Octal Decimal 0000 0010 21 0000 0100 2 0000 1000 2 0001 0000 2 0010 0000 2 0100 0000 2 1000 0000 2
2 3 4 5 6 7
2 4 8 10 20 40 80
2 4 10 20 40 100 200
2 4 8 16 32 64 128