Esto se basa en la idea de que todos los colores se pueden conseguir mezclando rojo, verde y azul (en ingls, "Red, Green, Blue"), as que se llama "sistema de colorRGB". Tambin se le llama sistema "aditivo" de color, porque se empieza con el negro y se van aadiendo los tres colores.
Mezclador de color
Mezcla colores a tu gusto para ver cmo funciona (tambin puedes escribir los valores en los cuadros para hexadecimal o decimal):
Hexadecimales
Los nmeros hexadecimales son "naturales" para los ordenadores, porque manejan nmeros binarios, y cuatro cifras binarias hacen una cifra hexadecimal (lee dgitos binarios):
0 1
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
0 1 10 11 100 0 1 2 3 4
Dos dgitos hexadecimales juntos (en informtica a eso se le llama un "byte") representan uno de 1616=256 niveles diferentes de color.
16 millones de colores
Como cada uno de los tres colores puede tomar valores de 0 a 255 (256 valores posibles), hay 256256256 = 256 3 = 16,777,216 combinaciones posibles de colores (y por eso vers que los ordenadores dicen que pueden mostrar "16 millones de colores")
Formato web
El formato o ("notacin") que se usa en pginas web es #RRGGBB, donde RR es el valor de la componente roja (usando dos dgitos hexadecimales), GG la componente verde y BB la azul.
Hexadecimal (#RRGGBB)
#000000 #FFFFFF #FF0000 #00FF00 #0000FF #FFFF00 #00FFFF #FF00FF
SISTEMAS DE NUMERACIN
Nmeros hexadecimales Los nmeros hexadecimales son interesantes. Hay 16 dgitos diferentes! Son como los decimales hasta el 9, pero despus hay letras ("A',"B","C","D","E","F") para los valores de 10 a 15. As que con una sola cifra hexadecimal se pueden dar 16 valores diferentes en lugar de los 10 de siempre: Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 B C D E F
Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros das, tal es el caso de los "nmeros romanos", pero sin duda el ms extendido en la actualidad es el sistema decimal de nmeros arbigos, llamado as por ser los rabes sus creadores. En el sistema decimal, los nmeros se forman por combinacin de 10 signos distintos; 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Cada uno de estos signos tiene un valor, y el valor del nmero que forman se halla multiplicando el valor de cada uno de ellos por 10 elevado a la potencia correspondiente a su situacin en el nmero, siendo 0 el de ms a la derecha, 1 el siguiente y as sucesivamente. De esta forma, el nmero 5348 sera igual a: 5348 = 8*100 + 4*101 + 3*102 + 5*103 = 8*1 + 4*10 + 3*100 + 5*1000 La misma denominacin del nmero nos lo recuerda, decimos: cinco mil, tres cientos, cuarenta y ocho. El sistema decimal es de uso tan frecuente que no vale la pena insistir en l, pero es importante hacer notar que la base de los exponentes es siempre 10 y por tanto, este sistema se denomina tambin "de base 10". Es posible crear sistemas que utilicen una base distinta, y de hecho, estos sistemas son muy usados en informtica. Sistema binario Un ordenador es una mquina esencialmente binaria, su componente bsico es el transistor, que slo admite dos estados posibles, o bien pasa corriente, o bien no pasa. Los "puristas" podran objetar que un transistor puede tener mltiples estados dependiendo de la cantidad de corriente que pase; es cierto, pero la medicin de esta cantidad de corriente implica una imprecisin que podra crear ambigedades, y un ordenador no admite ambigedad. De forma que por debajo de un determinado valor, se considera que no pasa corriente, y por encima de otro, se considera que s pasa. Arbitrariamente, asociamos estos dos estados con dos dgitos, cuando no pasa corriente decimos que tenemos un "0" y cuando pasa, decimos que tenemos un "1". De esta forma, podremos representar el estado de un
interruptor: "1" cuando est encendido y "0" cuando est apagado. Si tenemos una serie de interruptores puestos en fila, podramos representar el estado de todos ellos mediante un nmero binario. En la FIGURA 1 vemos una serie de interruptores cuyo estado podra ser definido mediante el nmero binario: "10011". Como se ve, el sistema binario es perfectamente adecuado para su uso en circuitos electrnicos. A cada "1" o "0" de un nmero binario le llamaremos "dgito binario", que puede abreviarse como "bit" (contraccin de "binary digit"). El valor de un nmero binario se halla de la misma forma que en el sistema decimal, excepto que esta vez, la base es "2". As el nmero "10011" ser: 10011 = 1*20 + 1*21 + 0*22 + 0*23 + 1*24 Es decir: 10011 = 1*1 + 1*2 + 0*4 + 0*8 + 1*16 = 19 en decimal Ya hemos visto implcitamente, cmo transformar un nmero binario en decimal, el proceso inverso (transformar un nmero decimal en binario), lo veremos ms adelante, cuando estudiemos el mtodo general para transformar nmeros en cualquier base. Operaciones aritmticas en binario Los nmeros binarios se pueden sumar, restar, multiplicar y dividir de igual forma que los decimales, slo es necesario conocer las "tablas" correspondientes. Veamos primero la suma. Para sumar en decimal los nmeros 19 y 28, los colocamos de la siguiente forma: 19 + 28 Y a continuacin hacemos: "9 ms 8 igual 7 y me llevo 1, 1 ms 1 ms 2 igual 4" el resultado es 47, es decir: 1 19 + 28 = 47 Al sumar 9 y 8 nos da un resultado superior a 9, es decir, superior al dgito ms alto de nuestro sistema, por lo que decimos que "nos llevamos una", esta "una" que "nos llevamos" se denomina en binario "acarreo" (o "carry" en ingls). Cuando se suma en binario, es necesario tener en cuenta el acarreo. Vamos ahora a ver la "tabla de sumar" en binario: 0+0=0 0+1=1
1 + 1 = 10 Es decir, cuando sumamos 1 ms 1 el resultado es 0 pero se produce un acarreo de 1. Veamos un ejemplo: vamos a sumar los nmeros 19 y 28 en binario, 19 es 10011 y 28 es 11100, de esta forma: 1 010011 +011100 =101111 El resultado es 101111, o bien 47 en decimal. Al sumar los dos unos de la izquierda, se ha producido un acarreo que hemos anotado encima de la siguiente columna. Al igual que en decimal, los ceros a la izquierda son irrelevantes. Es interesante saber cmo realiza el ordenador esta operacin. El programador de Basic, seguramente, est familiarizado con los operadores lgicos AND, OR y NOT, pero quiz no lo est tanto con el operador EXOR (OR exclusivo). A continuacin se muestran las "tablas de verdad" correspondientes a estos operandos. Es conveniente manejar con facilidad el operador EXOR, ya que se utiliza con frecuencia al programar en cdigo mquina. 0 0 1 1 0 0 1 1 AND AND AND AND OR OR OR OR 0 1 0 1 0 1 0 1 = = = = 0 1 1 1 0 0 0 1
= = = =
El equivalente elctrico del operador AND, seran dos interruptores en serie, el del operador OR, dos interruptores en paralelo. Siguiendo la misma analoga, el equivalente elctrico del operador EXOR, seran dos interruptores conmutados, como los que se utilizan frecuentemente para encender y apagar la luz de una habitacin desde dos puntos distintos. Vistas estas tablas, no es dificil deducir la correspondencia con la tabla de sumar vista anteriormente. La suma se obtiene mediante una operacin EXOR entre los dos bits, y el acarreo se obtiene mediante una operacin AND. Esta correspondencia es la que permite a un ordenador realizar clculos, ya que elctricamente, slo es posible realizar operaciones lgicas. No obstante, no se preocupe el lector por tener que realizar operaciones lgicas bit a bit cada vez que quiera sumar dos nmeros, el juego de instrucciones del microprocesador Z-80, afortunadamente, incluye las instrucciones necesarias para realizar sumas y restas de forma bastante sencilla.
Nmeros negativos Hemos visto cmo suma un ordenador, pero cmo resta? Para conseguir restar en binario, tendremos que establecer antes un convenio sobre qu consideramos nmeros negativos. Se denomina "complemento a 1" de un bit a lo que le falta a ese bit para ser "1", es decir, el complemento de "1" es "0" y el de "0" es "1" (el complemento a 1 viene dado por el operador lgico NOT). Por tanto, el complemento a 1 de un nmero binario es el resultado de cambiar sus "unos" por "ceros" y sus "ceros" por "unos". Por ejemplo: el complemento a 1 de "10011101" es "01100010". Por otro lado, se denomina "complemento a 2" al "complemento a 1" ms 1, es decir, al resultado de cambiar los unos por ceros y los ceros por unos, y luego sumar uno. Veamos algunos ejemplos Podra parecer algo arbitrario, sin embargo es smamente til, ya que como veremos a continuacin, es posible usar el complemento a 2 de un nmero como su negativo. Para restar dos nmeros, sumamos al "minuendo" el complemento a 2 del "sustraendo". Vamos a ver algunos ejemplos, trabajando con nmeros de 8 bits, que son los que utiliza el Z80 (de hecho, tambin utiliza nmeros de 16 bits, pero sera demasiado largo para un simple ejemplo). Vamos a restar 28 menos 19, para lo cual sumamos a 28 el complemento a 2 de 19: 28 00011100 - 19 + 11101101 = 9 = 100001001 Obtenemos el nmero "00001001" con un acarreo de "1". El acarreo nos indica que el resultado es positivo, es decir, el resultado es "+9" como caba esperar. Ahora vamos a realizar la operacin inversa, es decir, vamos a restar 19 menos 28 por tanto, tendremos que sumar a 19 el complemento a 2 de 28: 19 00010011 - 28 + 11100100 = -9 = 011110111 Esta vez hemos obtenido el nmero "11110111" con un acarreo de "0". El hecho de que el acarreo sea "0" nos indica que el nmero es negativo, y "11110111" es, precisamente, complemento a 2 de "9", es decir, "-9" como tambin caba esperar. Un hbil lector habr comprobado que, trabajando con nmeros de 8 bits, podemos saber si un nmero es negativo con slo mirar el primer bit (el de ms a la izquierda); si este bit es "1", el nmero ser negativo. Bien, esto no siempre es cierto. Trabajando con 8 bits, se pueden representar 256 nmeros distintos (desde 0 hasta 255), el Z-80 los considera casi siempre, todos positivos, pero hay veces que considera positivos a los 128 primeros (desde 0 a 127) y negativos a los 128 restantes (desde 128 a 255). En este ltimo caso, s funciona la regla explicada anteriormente, y de hecho, al bit de ms a la izquierda se le denomina "bit de signo". De esta forma, 255 sera equivalente a "-1", 254 a "-2", 253 a "-3", y as sucesivamente hasta 128 que sera en realidad, "-128". Podra parecer
un poco "lioso", pero con un poco de imaginacin, se puede asimilar al funcionamiento de un cuenta-kilmetros de automvil. Si partimos de un nmero cualquiera y vamos restando 1, llegar un momento que obtendremos "00000000", si a continuacin volvemos a restar 1, obtendremos "11111111"(ms un acarreo, lgicamente), es decir, "255" en decimal, si volvemos a restar 1, obtendremos "254"; parece lgico asignar a "255" el valor "-1" y a "254" el "-2" y as sucesivamente. En la segunda columna de la FIGURA 2, podr ilustrar esto con mayor claridad.
Sistema hexadecimal Como hemos visto, los nmeros binarios son muy adecuados para su uso en aparatos electrnicos, pero tienen un gran inconveniente; cuando los escribimos, necesitamos una gran cantidad de cifras para representar un nmero relativamente pequeo. Si pudiramos agrupar los bits, conseguiramos evitar este inconveniente. Dado que vamos a trabajar con 8 o 16 bits, parece lgico agruparlos de 4 en 4 con el fin de obtener nmeros de 2 o 4 cifras. Como regla general, con "n" bits se pueden obtener "2 elevado a n" combinaciones distintas, por tanto, con 4 bits podemos obtener 16 combinaciones, cada una de las cuales las asociaremos con un dgito hexadecimal. Necesitamos 16 dgitos para representar todas las posibles combinaciones, como slo conocemos 10 dgitos distintos (del 0 al 9), utilizaremos las 6 primeras letras maysculas del abecedario (de la "A" a la "F"). En la FIGURA 3 se pueden ver las 16 combinaciones posibles con 4 bits y su equivalente en hexadecimal. Supongamos el nmero binario "01101100", siguiendo la tabla de la FIGURA 3, podemos escribirlo como "6Ch". Hemos esxrito "6" en lugar de "0110" y "C" en lugar de "1100", la "h" se aade al final para indicar que se trata de un nmero hexadecimal y no confundirlo con uno decimal. A los nmeros hexadecimales se les denomina con frecuencia, simplemente, "Hexa". La forma de transformar un nmero Hexa en decimal, es sumamente sencilla, basta con multiplicar el valor de cada dgito por 16 elevado a la correspondiente potencia (como hacamos anteriormente para los binarios y decimales); habr que tener en cuenta, que "A" vale 10, "B" vale 11, "C" vale 12, "D" vale 13, "E" vale 14 y "F" vale 15. Veamos algn ejemplo, vamos a convertir a decimal el nmero "5CB2h": 5CB2h = 2*160 + B*161 + C*162 + 5*163 es decir: 5CB2h = 2*1 + 11*16 + 12*256 + 5*4096 = 23730 El resultado es "23730" en decimal, precisamente la direccin de la variable del Sistema "RAMTOP". Las direcciones de memoria en el Spectrum son siempre nmeros Hexa de 4 cifras, la razn es que existen 65536 direcciones posibles, que es el nmero de combinaciones que se pueden hacer con 16 bits, es decir, cuatro cifras hexadecimales.
lista
Si contempla un mapa de memoria del Spectrum, las direcciones que definen el inicio de las distintas zonas pueden parecer algo arbitrarias; pero estos nmeros vistos en Hexa, resultan ser "nmeros redondos"; vamos a comprobarlo: 16384 (el principio de la RAM) es 4000h en Hexa, 65535 (el final de la RAM) es FFFFh, 1024 (1K) es 0400h, 16K es 4000h, 32K es 8000h, 48K es C000h y finalmente, 64K es 10000h. El archivo de pantalla ocupa desde 4000h hasta 5800h, el de atributos desde 5800h hasta 5B00h, el buffer de impresora va desde 5B00h hasta 5C00h, la pantalla ocupa 1800h bytes, los atributos 300h bytes y el buffer de impresora 100h bytes. Esto quiere decir que si hemos de trabajar directamente sobre la memoria, es preferible que nos vayamos acostumbrando a contar en hexadecimal. Conversin entre bases Hasta ahora hemos visto cmo pasar nmeros desde cualquier base a decimal; ahora vamos a estudiar el proceso inverso, pasar nmeros de base decimal a cualquier base. Este proceso es algo tedioso para realizarlo "a mano", as que normalmente usaremos un programa de ordenador, de hecho, la mayora de ensambladores tienen una opcin que nos permite pasar nmeros a hexadecimal, y si an no tiene un ensamblador, puede utilizar el PROGRAMA 1 para pasar nmeros a y desde cualquier base. No obstante, es necesario saber cmo se realiza el proceso, entre otras cosas, para ser capaz de escribir un programa que lo haga. Como regla general, para pasar un nmero de base decimal a cualquier base, se divide el nmero por la base sin sacar decimales, el resto es el primer dgito de nuestro nmero (empezando por la derecha). A continuacin se vuelve a dividir el cociente, y se toma el nuevo resto como el siguiente nmero, y as sucesivamente hasta que obtengamos en cociente de cero. Recuerde que no debe sacar decimales. En la FIGURA 4 hemos realizado el proceso para pasar el nmero 23730 a Hexa, y en la FIGURA 5 hemos pasado el mismo nmero a binario. Como regla general, a partir de ahora representaremos los nmeros hexadecimales seguidos de una "h" y los binarios, seguidos de una "b". Con el PROGRAMA 1, podr introducir un nmero en decimal, binario o Hexa, y el programa devolver como resultado, ese mismo nmero en decimal, Hexa y binario. Cuando introduzca un nmero binario, indquelo terminando el nmero con una "b" minscula, si introduce un nmero hexadecimal, termnelo con una "h" tambin minscula, los nmeros decimales deber teclearlos tal cual. Por ltimo, no olvide que las cifras que componen un nmero hexadecimal, deben ser nmeros o letras maysculas entre la "A" y la "F". En aras de una mayor rapidez de ejecucin, el programa no est protegido contra entradas errneas. Los nmeros no deben ser mayores de 65535 (FFFFh o 1111111111111111b).
Tambin tengo una mucho ms larga de colores hexadecimales y sus nombres. Prueba a escribir el cdigo hexadecimal en mezclador de arriba, y lo que sale (puedes copiar, despus pulsar el botn derecho en el recuadro y "pegar").
el mira con
Entero En Signo y Complemento Complemento Decimal sin exceso Magnitud a uno a dos signo a7
Nmeros hexadecimales
Los nmeros hexadecimales son interesantes. Hay 16 dgitos diferentes! Son como los decimales hasta el 9, pero despus hay letras ("A',"B","C","D","E","F") para los valores de 10 a 15. As que con una sola cifra hexadecimal se pueden dar 16 valores diferentes en lugar de los 10 de siempre: Decimal: Hexadecimal: 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 10 11 12 13 14 15 9 A B C D E F
Tabla de comparacin
La tabla siguiente compara la representacin de los enteros entre 8 y -8 (incluidos) usando 4 bits.
+8
1000
n/d
n/d
n/d
1111
+7
0111
0111
0111
0111
1110
+6
0110
0110
0110
0110
1101
+5
0101
0101
0101
0101
1100
+4
0100
0100
0100
0100
1011
+3
0011
0011
0011
0011
1010
+2
0010
0010
0010
0010
1001
Sistema
El sistema binario, llamado didico en ciencias de la un sistema de numeracin en losnmeros se representan solamente las cifras cero y uno (0 y 1). que se utiliza en las computadoras, debido a internamente con dos niveles cual su sistema de natural es el sistema binario apagado 0) .
2 1
+1
0001
0001
0001
0001
1000
binario
tambin sistema computacin, es el que utilizando
+0
0000
0000
0000
0000
0111
-0
n/d
1000
1111
n/d
n/d
Es uno de los
-1
n/d
1001
1110
1111
0110
que trabajan de voltaje, por lo
-2
n/d
1010
1101
1110
0101
numeracin (encendido 1,
-3
n/d
1011
1100
1101
0100
binario
-4 n/d 1100 1011 1100 0011 l'Arithmtique -5 n/d 1101 1010 1011 0010
-6
n/d
1110
1001
1010
0001
-7
n/d
1111
1000
1001
0000
Una serie completa de 8 trigramas y 64 hexagramas (anlogos a 3 bits) y nmeros binarios de 6 bits eran conocidos en la antigua China en el texto clsico del I Ching. Series similares de combinaciones binarias tambin han sido
utilizadas en sistemas de adivinacin tradicionales africanos, como el If, as como en la geomancia medieval occidental. Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia decimal de 0 a 63, y un mtodo para generar el mismo fue desarrollado por el erudito y filsofo Chino Adgart en el siglo XI. En 1605 Francis Bacon habl de un sistema por el cual las letras del alfabeto podran reducirse a secuencias de dgitos binarios, las cuales podran ser codificadas como variaciones apenas visibles en la fuente de cualquier texto arbitrario. El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo XVII, en su artculo "Explication de l'Arithmtique Binaire". En l se mencionan los smbolos binarios usados por matemticos chinos. Leibniz utiliz el 0 y el 1, al igual que el sistema de numeracin binario actual. En 1854, el matemtico britnico George Boole public un artculo que marc un antes y un despus, detallando un sistema de lgica que terminara denominndose lgebra de Boole. Dicho sistema desempeara un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrnicos.
Aplicaciones
En 1937, Claude Shannon realiz su tesis doctoral en el MIT, en la cual implementaba el lgebra de Boole y aritmtica binaria utilizando rels y conmutadores por primera vez en la historia. Titulada Un Anlisis Simblico de Circuitos Conmutadores y Rels, la tesis de Shannon bsicamente fund el diseo prctico de circuitos digitales. En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell, construy una computadora basada enrels a la cual apod "Modelo K" (porque la construy en una cocina, en ingls "kitchen") que utilizaba la suma binaria para realizar los clculos. Los Laboratorios Bell autorizaron un completo programa de investigacin a finales de 1938, con Stibitz al mando. El 8 de enero de 1940 terminaron el diseo de una "Calculadora de Nmeros Complejos", la cual era capaz de realizar clculos con nmeros. En una demostracin en la conferencia de la Sociedad Estadounidense de Matemtica, el 11 de septiembre de 1940, Stibitz logr enviar comandos de manera remota a la Calculadora de Nmeros Complejos a travs de la lnea telefnica mediante un teletipo. Fue la primera mquina computadora utilizada de manera remota a travs de la lnea de telfono. Algunos participantes de la conferencia que presenciaron la demostracin fueron John von Neumann, John Mauchly y Norbert Wiener, quien escribi acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanz diferentes logros.
Vase tambin: Cdigo binario
Representacin
Ejemplo: el sistema binario puede ser representado solo por dos dgitos. Un nmero binario puede ser representado por cualquier secuencia de bits (dgitos binarios), que suelen representar cualquier mecanismo capaz de usar dos estados mutuamente excluyentes. Las siguientes secuencias de smbolos podran ser interpretadas como el mismo valor numrico binario:
1 0 1 0 0 1 1 0 1 0 | - | - - | | - | x o x o o x x o x o y n y n n y y n y n
El valor numrico representado en cada caso depende del valor asignado a cada smbolo. En una computadora, los valores numricos pueden representar dos voltajes diferentes; tambin pueden indicar polaridades magnticas sobre un disco magntico. Un "positivo", "s", o "sobre el estado" no es necesariamente el equivalente al valor numrico de uno; esto depende de la nomenclatura usada. De acuerdo con la representacin ms habitual, que es usando nmeros arbigos, los nmeros binarios comnmente son escritos usando los smbolos 0 y 1. Los nmeros binarios se escriben a menudo con subndices, prefijos o sufijos para indicar su base. Las notaciones siguientes son equivalentes:
100101 binario (declaracin explcita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) 1001012 (un subndice que indica base 2 (binaria) notacin) %100101 (un prefijo que indica formato binario) 0b100101 (un prefijo que indica formato binario, comn en lenguajes de programacin)
131 dividido entre 2 da 65 y el residuo es igual a 1 65 dividido entre 2 da 32 y el residuo es igual a 1 32 dividido entre 2 da 16 y el residuo es igual a 0 16 dividido entre 2 da 8 8 dividido entre 2 da 4 4 dividido entre 2 da 2 2 dividido entre 2 da 1 1 dividido entre 2 da 0 y el residuo es igual a 0 y el residuo es igual a 0 y el residuo es igual a 0 y el residuo es igual a 0 y el residuo es igual a 1
En sistema binario, 131 se escribe 10000011 Ejemplo Transformar el nmero decimal 100 en binario.
Otra forma de conversin consiste en un mtodo parecido a la factorizacin en nmeros primos. Es relativamente fcil dividir cualquier nmero entre 2. Este mtodo consiste tambin en divisiones sucesivas. Dependiendo de si el nmero es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo entre dos, hasta llegar a 1. Despus slo nos queda tomar el ltimo resultado de la columna izquierda (que siempre ser 1) y todos los de la columna de la derecha y ordenar los dgitos de abajo a arriba. Ejemplo
100|0 50|0 25|1 12|0 6|0 3|1 1|1 --> --> 1, 25-1=24 y seguimos dividiendo entre 2
Existe un ltimo mtodo denominado de distribucin. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el nmero decimal a convertir. Sea por ejemplo el nmero 151, para el que se necesitarn las 8 primeras potencias, ya que la siguiente, 28=256, es superior al nmero a convertir. Se comienza poniendo un 1 en 128, por lo que an faltarn 23, 151-128 = 23, para llegar al 151. Este valor se conseguir distribuyendo unos entre las potencias cuya suma d el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente.
Ejemplo
20= 2= 2= 2= 2= 2= 2=
7 6 5 4 3 2 1
2 = 128|1
(Por ejemplo, al multiplicar 0.6 por 2 obtenemos como resultado 1.2 lo cual indica que nuestro resultado es un uno (1) en binario, solo se toma la parte decimal del resultado). 3. Despus de realizar cada multiplicacin, se colocan los nmeros obtenidos en el orden de su obtencin. 4. Ejemplo Algunos nmeros se transforman en dgitos peridicos, por ejemplo: el 0.1.
0,3125 2 = 0,625 => 0 0,625 0,25 0,5 2 = 1,25 2 = 0,5 2 = 1 => 1 => 0 => 1 -> 0,0101 (binario)
En orden: 0101
Ejemplo
0,1 (decimal) => 0,0 0011 0011 ... (binario). Proceso: 0,1 2 = 0,2 ==> 0 0,2 2 = 0,4 ==> 0 0,4 2 = 0,8 ==> 0 0,8 2 = 1,6 ==> 1 0,6 2 = 1,2 ==> 1 0,2 2 = 0,4 ==> 0 0,4 2 = 0,8 ==> 0 0,8 2 = 1,6 ==> 1 0,6 2 = 1,2 ==> 1 <--se repiten las cuatro cifras, peridicamente <<<- ...
En orden: 0 0011 0011... => 0,0 0011 0011 ... (binario peridico)
Ejemplo
5.5 = 5,5 5,5 (decimal) Proceso: 5 => 101 0,5 2 = 1 => 1 En orden: 1 (un slo dgito fraccionario) -> 101,1 (binario)
Ejemplo
0,83 2 = 1,66 => 1 0,66 2 = 1,32 => 1 0,32 2 = 0,64 => 0 0,64 2 = 1,28 => 1 0,28 2 = 0,56 => 0 0,56 2 = 1,12 => 1
0,12 2 = 0,24 => 0 0,24 2 = 0,48 => 0 0,48 2 = 0,96 => 0 0,96 2 = 1,92 => 1 0,92 2 = 1,84 => 1 0,84 2 = 1,68 => 1 En orden: 110101000111 (binario) Parte entera: 110 (binario) Encadenando parte entera y fraccionaria: 110,110101000111 (binario)
Binario a decimal
Para realizar la conversin de binario a decimal, realice lo siguiente: 1. Inicie por el lado derecho del nmero en binario, cada cifra multiplquela por 2 elevado a la potencia consecutiva (comenzando por la potencia 0, 20). 2. Despus de realizar cada una de las multiplicaciones, sume todas y el nmero resultante ser el equivalente al sistema decimal. Ejemplos:
Tambin se puede optar por utilizar los valores que presenta cada posicin del nmero binario a ser transformado, comenzando de derecha a izquierda, y sumando los valores de las posiciones que tienen un 1.
Ejemplo El nmero binario 1010010 corresponde en decimal al 82. Se puede representar de la siguiente manera:
Para cambiar de binario con decimales a decimal se hace exactamente igual, salvo que la posicin cero (en la que el dos es elevado a la cero) es la que est a la izquierda de la coma y se cuenta hacia la derecha a partir de -1:
2. Despus de realizar cada una de las multiplicaciones, sume todas y el nmero resultante ser el equivalente al sistema decimal. Ejemplos
1 2 elevado a -1 = 0,5 0 2 elevado a -2 = 0 1 2 elevado a -3 = 0,125 0 2 elevado a -4 = 0 0 2 elevado a -5 = 0 1 2 elevado a -6 = 0,015625 La suma es: 0,640625
1 2 elevado a -1 = 0,5 1 2 elevado a -2 = 0,25 0 2 elevado a -3 = 0 1 2 elevado a -4 = 0,0625 1 2 elevado a -5 = 0,03125 1 2 elevado a -6 = 0,015625 La suma es: 0,859375
10
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
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 las 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 (este valor se resta al resultado que obtenga, entre el minuendo y el sustraendo de la siguiente columna), lo que equivale a decir en el sistema decimal, 2 - 1 = 1. Ejemplos
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:
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:
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
El algoritmo del producto en binario es igual que en nmeros decimales; aunque se lleva a cabo con ms sencillez, ya que el 0 multiplicado por cualquier nmero da 0, y el 1 es el elemento neutro del producto.
Por ejemplo, multipliquemos 10110 por 1001:
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
100010010 /1101 = 010101 -0000 10001 -1101 01000 - 0000 10000 - 1101 00111 - 0000 01110 - 1101 00001
Debido a que el sistema octal tiene como base 8, que es la tercera potencia de 2, y que dos es la base del sistema binario, es posible establecer un mtodo directo para convertir de la base dos a la base ocho, sin tener que convertir de binario a decimal y luego de decimal a octal. Este mtodo se describe a continuacin: Para realizar la conversin de binario a octal, realice lo siguiente: 1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dgitos, entonces agregue ceros a la izquierda. 2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
Nmero en binario 000 001 010 011 100 101 110 111
Nmero en octal
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
Octal a binario
Cada dgito octal se convierte en su binario equivalente de 3 bits y se juntan en el mismo orden. Ejemplo
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 binario
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Nmero en hexadecimal
0101 = 5 1111 = F 110 entonces agregue 0110 = 6 Agrupe de derecha a izquierda: 6F5
Hexadecimal a binario
Note que para pasar de Hexadecimal a binario, se remplaza el nmero Hexadecimal por el equivalente de 4 bits, de forma similar a como se hace de octal a binario.
Tabla de conversin entre decimal, binario, hexadecimal, octal, BCD, Exceso 3 y Gray o Reflejado
Decimal Binario Hexadecimal Octal BCD Exceso 3 Gray o Reflejado
0000
0000
0011
0000
0001
0001
0100
0001
0010
0010
0101
0011
0011
0011
0110
0010
0100
0100
0111
0110
0101
0101
1000
0111
0110
0110
1001
0101
0111
0111
1010
0100
1000
10
1000
1011
1100
1001
11
1001
1100
1101
10
1010
12
0001 0000
1111
11
1011
13
0001 0001
1110
12
1100
14
0001 0010
1010
13
1101
15
0001 0011
1011
14
1110
16
0001 0100
1001
15
1111
17
0001 0101
1000
Tabla de conversin entre binario, factor binario, hexadecimal, octal y decimal
Binario
0000 0010 2
0000 0100 2
0000 1000 2
10
0001 0000 2
10
20
16
0010 0000 2
20
40
32
0100 0000 2
40
100
64
1000 0000 2
80
200
128
Ttulo: Conversin de bases numricas Publicado por: jep en 09 Julio 2010, 07:38:35 pm
hace tiempo que quiero hacer este tutorial, vi varios que hablan sobre cambios de bases para binario o hexa, pero no llegu a ver uno general, tampoco alguno que explique mejor los conceptos Lo primero es hacer una diferencia, muy importante, que no nos sirve para resolver el problema, pero si para entenderlo ms a fondo cuando hablamos de un numero, generalmente asumimos, incluso pensamos que el numero est en base 10, claro, es lgico, ya que siempre se enseo asi, pero lo mejor es separar las cosas. un numero es un numero, un concepto abstracto que nos sirve para cuantificar las cosas, pero es totalmente independiente a la base que usemos, parece evidente lo que digo, y que todo el mundo lo sabe, pero no es asi. NUMERO: expresa una cantidad, con l se hacen las operaciones matematicas (suma, resta , multiplicacion, ... ) REPRESENTACION NUMERICA: el numero necesita una forma de escribir, alguna, sea la que sea, sino no podemos expresarlo, la representacion numerica es una lista de digitos, cada digito es de nuevo un numero, la representacin de ese numero est definido por un simbolo (los dibujitos de los numeros, o las letras en su defecto, pero ese simbolo tambien es independiente al numero, solo que necesitamos una convencion para entendernos) asi, que yo diga 425 y defina que est en base 10, quiere decir cada digito podra tener diez valores diferentes, es una lista de posibles valores [4,2,5], en esta lista, estamos usando de nuevo el numero en base 10 para representarlo, pero eso no es siempre asi, es mas, la PC no usa base 10 para representar ese numero, ese numero, en base 10 podra estar escrito asi [100,10,101], es la misma lista de digitos, solo que en vez de representar los digitos en base 10, los estamos expresando en binario pondremos un ejemplo (para representar un numero en base16 colocaremos un 0x antecediendolo) como haras para pasar 0x3A a base 10 ? lo que todo el mundo dice es esto 3*16 + 10 = 58 y listo el problema
pero la realidad es que no se ha convertido el numero a base 10, solo se ha calculado, a partir de la representacin del numero, su valor en forma numrica, pero para los humanos es natural pensar que el numero est en base 10. que pasa si esto lo hacemos en una PC ? la pc no piensa como nosotros en base 10, la pc piensa en binario, asi que si queriamos hacer esta operacion, para la pc seria algo asi 0x3A = [ 3 , A ] = [ 11b , 1010b ] (esta es la representacion del numero en base 16 para alguien que piensa en binario) y la operacin que hicimos hace rato sera algo asi como esto: 11b * 10000b + 1010 = 111010b que pas esta vez, hicimos la misma operacin que hace rato, pero en vez de pensar en base 10 estamos pensando en binario, y el resultado es un binario, es porque esta operacion, no es realmente para pasar a base 10, es para pasar una representacin numerica, a un numero (el numero va ser expresado siempre de la manera como pensamos) ahora viene la duda, si yo escribo en la pc la operacin 3*16 + 10 que hace la pc ? primero convierte eso que escribimos a binario, despues hace la operacion en binario (asi como vimos recien), y despues ese resultado vuelve a pasar a decimal, para que lo podamos entender entonces, para resumir esta primera parte, llegamos a que la formula que generalmente usamos para pasar a base10, realmente sirve para pasar una representacin numrica, a un numero de verdad, ese numero de verdad, para poder imprimir tendr que tener alguna representacion pero depender de quien esta pensando y calculando. la formula genrica, para calcular el numero es asi suponemos nuestro numero de 4 digitos X4 X3 X2 X1 que est en base N X4 * N3 + X3 * N2 + X2 * N1 + X1 * N0 = NUMERO (se sabe que N1=N y N0=1 pero igual lo coloco, porque me parece mas didactico)
con esto legamos a la primera parte, que es calcular el numero, a partir de cualquier base, vamos a unos ejemplos, pero para tratar de abstraernos de usar base10, vamos a usar base16 para representar los numeros numero en base 0x2 10011b = 0x1 * 0x20x4 + 0x0 * 0x20x3 + 0x0 * 0x20x2 + 0x1 * 0x20x1 + 0x1 * 0x20x0 = 0xD3 numero en base 0x8 45128 = 0x4 * 0x80x3 + 0x5 * 0x80x2 + 0x1 * 0x80x1 + 0x2 * 0x80x0 = 0x94A numero en base 0x14 ( base 20 en decimal ) - los digitos son ( 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J ) (vemos el valor de cada digito) 2 = 0x2 G = 0x10 F = 0xF J = 0x13 2GFJ20 = 0x2 * 0x140x3 + 0x10 * 0x140x2 + 0xF * 0x140x1 + 0x13 * 0x140x0 = 0x58BF espero que esta parte ya est mas clara, es la ms importante, si se entendi hasta aqui, lo dems ya es muy simple
una vez que tenemos el numero, podemos pasar a cualquier base cuando un numero se multiplica por su base, todos los digitos corren a la izquierda, y se agrega un cero (como
cuando en base10 se multiplica por 10) y cuando se divide un numero por su base, corren los digitos a la derecha, y el ultimo digito sale, este ultimo queda como resto. esa es la tecnica que se usa para sacar los digitos para cualquier base numerica, vamos recogiendo los restos de las divisiones hasta conseguir todos los digitos (eso pasa cuando el cociente es CERO) ejemplo, para pasar un numero a base10 hacemos 0x58BF / 0xA = 0x8DF resto= 0x9 0x8DF / 0xA = 0xE3 resto= 0x1 0xE3 / 0xA = 0x16 resto= 0x7 0x16 / 0xA = 0x2 resto= 0x2 0x2 / 0xA = 0x0 resto= 0x2 entonces el numero 0x58BF = 227190xA (base 10) vamos con el mismo ejemplo, pero dejemos de pensar en base16, vamos volver a lo que estamos acostumbrados, base 10, y vamos convertir 0x58BF=227190xA representado en base10 a su misma base 22719 / 10 = 2271 resto= 9 2271 / 10 = 227 resto= 1 227 / 10 = 22 resto= 7 22 / 10 = 2 resto= 2 2 / 10 = 0 resto= 2 cual es la diferencia entre lo que teniamos antes de la conversin y lo que sale de ella, aparentemente es lo mismo, es solo una diferencia de conceptos, lo que teniamos al principio era el nmero en s, y lo que sacamos es una representacin de ese numero. para los que pensamos en base 10 esto parece casi sin sentido en una pc, como esta piensa en binario, tiene que hacer esta operacin, para poder ver el numero en base 10
y por ultimo, como se hace para pasar de una representacin numerica a otra, cualquiera. lo que hay que hacer es primero, convertir la representacion numerica, al numero en s, que va estar representado de acuerdo al que este leyendo (si es una PC va estar en binario, si es una persona va estar en decimal) y una vez que tenemos el numero, podemos hacer las divisiones sucesivas para pasarlo a cualquier base numrica para el numero 2GFJ20 llegamos a hacer las 2 operaciones necesarias, primero pasamos de la representacion al numero (expresado en base16, pero como ya dije, eso depende del que hace las operaciones ) 2GFJ20 = 0x2 * 0x140x3 + 0x10 * 0x140x2 + 0xF * 0x140x1 + 0x13 * 0x140x0 = 0x58BF y despus a la representacin que nos interesa 0x58BF / 0xA = 0x8DF resto= 0x9 0x8DF / 0xA = 0xE3 resto= 0x1 0xE3 / 0xA = 0x16 resto= 0x7 0x16 / 0xA = 0x2 resto= 0x2 0x2 / 0xA = 0x0 restp= 0x2 entonces el numero 2GFJ20 = 0x58BF = 2271910
Dgitos binarios, Niveles Lgicos y formas de onda digitales. Los dgitos se emplean en un sistema de numeracin binaria o de base 2, que es el digito tiene un valor 0 o un valor 1. Donde estos dgitos se llaman bits (binary digit). Bit es la unidad de almacenamiento ms pequeo. En los circuitos digitales existen dos niveles de tensin distintos para los dos bits. Un 1 representa el nivel de
tensin alto (High) y un 0 el nivel de tensin bajo (Low). Esta forma recibe el nombre de Lgica Positiva. Cuando un 1 representa un nivel bajo y un 0 es un nivel alto se llama Lgica Negativa. Formas de onda digital Toda seal digital consisten en niveles de tensin que varan de nivel Alto y Bajo. Un impulso positivo es cuando la tensin pasa de su nivel Bajo hasta un nivel Alto y luego regresa al nivel Bajo. Un impulso negativo es cuando la tensin pasa de un nivel Alto hasta un nivel Bajo, y regresa nuevamente a nivel Alto. Un impulso posee dos flancos: flanco de subida (flanco anterior) que se produce en un tiempo TO(tiempo de subida) y flanco de baja (flanco posterior) que se produce en un tiempo T1 (tiempo de bajada). El tiempo de subida se mide como el tiempo que tarda en pasar del 10% al 90% de distancia de la lnea base y el tiempo de bajada se mide como el tiempo que tarda en pasar del 90% al 10% de la amplitud del impulso. La anchura del impulso (Tw) es una medida de la duracin del impulso, es el intervalo de tiempo que transcurre entre los puntos en los que la amplitud es del 50% en el flanco de subida y el de bajada.
Caractersticas de la formas de onda Los trenes de impulsos se dividen peridicos y no peridicos. Un tren de impulsos peridico es aquel que se repite a intervalos de tiempo fijos, que recibe el nombre de periodo (T) a ese intervalo de tiempo fijo. La frecuencia (f) es la velocidad a la que se repite y se mide hertios (Hz). Un tren de impulsos no peridico no se repite a intervalos de tiempo fijo y puede estar compuesto de impulsos de diferentes anchos o intervalos diferentes tiempo entre impulsos. La frecuencia de un tren de impulsos es el inverso del periodo. La relacin es: f=1/T T=1/f En un sistema digital, todas las seales se sincronizan con una seal de temporizacin llamado reloj. El reloj es una seal peridica en la cada intervalo entre impulsos equivale a la duracin de un bit. Niveles lgicos Los CIs digitales trabajan con dos mrgenes de tensiones (suficientemente separadas) que codifican un dgito de cdigo binario: 1 o 0. Estas tensiones reciben el nombre de niveles lgicos y como ya hemos dicho, tanto el nivel lgico alto (1) como el bajo (0) son un intervalo de tensiones.
La figura 1.1 ilustra el rango general de variacin para los niveles alto y bajo. El lmite VH(max) representa el mximo valor permitido para el nivel alto y el lmiteVH(min) representa el mnimo valor que puede tomar el nivel alto. Idnticas definiciones existen para el nivel mnimo ( VL(max) y VL(min)). El rango de tensiones entreVL(max) y VH(min) representa un intervalo de incertidumbre. Una tensin dentro de dicho rango podra ser interpretada por el elemento lgico que la utiliza, como un nivel alto o como un nivel bajo, pero nunca se podra determinar con seguridad cual ser la interpretacin a priori.
Por ltimo diremos que los niveles lgicos son en general distintos sin estamos considerando la entrada o la salida del elemento lgico.
TTL
En la entrada de los circuitos TTL, el nivel lgico bajo puede ser representado por cualquier tensin comprendida entre 0V y 0.8V, y el nivel lgico alto por cualquier tensin entre 2V y 5V. En rango de valores entre 0.8V y 2V es la regin de funcionamiento impredecible.
En la salida, los rangos varan sensiblemente. Un 0 se representa por cualquier tensin entre 0V y 0.4V, y un 1 se representa mediante cualquier tensin entre 2.4V y 5V. La descripcin grfica de sto se muestra en la figura 1.2. CMOS En la entrada, un 0 est representado por cualquier tensin entre 0V y 1.5V, y un 1 por cualquier entre 3.5V y 5V.
I.1 Definicin.
Denominamos sistema digital a aqul que realiza operaciones mediante dgitos, los cuales
usualmente se representan como nmeros binarios. Las principales operaciones son: ingreso, procesamiento, transmisin, almacenamiento y despliegue de datos digitales. Los sistemas anlogos representan las variables en forma continua, en el tiempo; los digitales en forma discreta. Los sistemas simblicos emplean letras o iconos como smbolos no numricos. Los sistemas anlogos estn siendo reemplazados por sistemas digitales, para esto las cantidades fsicas en forma anloga, por ejemplo: sonidos, imgenes, voltajes, distancias, deben ser convertidas a representaciones digitales mediante tcnicas de aproximacin, empleando dispositivos de conversin anlogo-digitales. Primero se toman muestras, luego se convierten las muestras en nmeros. I.2 Diseo clsico y actual. El permanente cambio que tiene el estudio de sistemas digitales se debe principalmente a tres factores: la continua evolucin de la tecnologa digital que en menor tamao coloca cada vez mayor nmero de componentes ms rpidas; el desarrollo de herramientas de ayuda al diseo digital (CAD) que permiten enfrentar tareas extremadamente complejas; y las nuevas metodologas de desarrollo de software que facilitan el desarrollo de aplicaciones complejas con interfases visuales, como las herramientas CAD y los lenguajes de descripcin de hardware
(HDL). Las primeras metodologas de diseo digital, que podramos denominar clsicas, permiten comprender los principios de funcionamiento de los sistemas digitales bsicos, y pueden ser desarrolladas empleando papel y lpiz. Emplean los principios tericos del lgebra de Boole y algoritmos de minimizacin. Sin embargo los algoritmos son de tipo no polinomial, y no pueden ser aplicados a situaciones de mediana complejidad (redes con ms de 5 entradas), debido a su costo exponencial. Sin embargo, al ser posible enfrentar diseos digitales ms complejos, debido a la tecnologa, debieron desarrollarse nuevas heursticas para representar sistemas digitales, minimizarlos, y poder implementarlos en base a bloques lgicos determinados. En estos nuevos 2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 algoritmos, estn basadas las herramientas CAD. Su exposicin y estudio corresponde a disciplinas de programacin, estructuras de datos y algoritmos. Actualmente el diseo, la simulacin y la implementacin o sntesis de sistemas digitales se realizan mediante complejos y numerosos algoritmos incrustados dentro de las herramientas computacionales de apoyo al diseo. I.3 Conceptos bsicos en sistemas digitales. Comenzaremos nuestro estudio desarrollando un ej En el caso de CMOS, VNH=1.4V y VNL= 1.4, lo que indica que la familia CMOS es ms inmune al ruido que la TTL.
* Cable trenzado (lnea de telfono). * Cable coaxial. * Fibra ptica. En tanto, algunos tipos de conexiones sin pueden ser: * Infrarrojo, luz, radio. * Microondas. * Satelital. La transferencia de datos puede hacerse en dos formas: * Digital. * Analgica. Algunas unidades para medir la velocidad de transferencia de datos son el bps (bits por segundo) y elbaudio. La transferencia de datos sobre un medio puede ser de subida, de bajada o ambas a la vez. En la transferencia de datos, muchas veces es necesaria una cierta seguridad sobre la informacin transferida. Para esto, los datos pueden encriptarse. 1.2.8 Conversiones de base numrica.
11 12 13 14 15 160 176 192 208 224 240 255 2730 3003 3276 3549 3822 4095 65535
00000
00001
00010
00011
00100
00101
00110
00111
01000
10
01001
11
10
01010
12
11
01011
13
12
01100
14
13
01101
15
14
01110
16
15
01111
17
16
10000
10
20
17
10001
11
21
18
10010
12
22
19
10011
13
23
20
10100
14
24
21
10101
15
25
22
10110
16
26
23
10111
17
27
30
11110
1E
36
31
11111
1F
37
32
100000 20
40
33
100001 21
41
1. SISTEMAS DE NUMERACIN OCTAL Y HEXADECIMAL Jess Miguel Prez Fernndez 2. SISTEMA OCTAL 3. SISTEMA OCTAL El sistema numrico octal utiliza como base el 8 que corresponde al numero de dgitos que se utilizan para representar cantidades. Estos dgitos son 0, 1, 2, 3, 4, 5, 6, 7. Al igual que los sistemas de numeracin decimal y binario, este es un sistema posicional, por lo cual en el sistema octal todos los procedimientos son similares a los que utilizamos con el sistema binario. El valor de posicin en este sistema se consigue multiplicando el digito por una potencia de 8. 4. SISTEMA OCTAL 5. Tabla de conversin entre decimal, binario, hexadecimal y octal Decimal Binario Hexadecimal octal 0 00000 0 0 1 00001 1 1 2 00010 2 2 3 00011 3 3 4 00100 4 4 5 00101 5 5 6 00110 6 6 7 00111 7 7 8 01000 8 10 9 01001 9 11 10 01010 A 12 11 01011 B 13 12 01100 C 14 13 01101 D 15 14 01110 E 16 15 01111 F 17 16 10000 10 20 17 10001 11 21 18 10010 12 22 ... ... ... ... 30 11110 1E 36 31 11111 1F 37 32 100000 20 40 33 100001 21 41 6. SISTEMA OCTAL La numeracin octal es tan buena como la binaria y la hexadecimal para operar con fracciones, puesto que el nico factor primo para sus bases es 2. Todas las fracciones que tengan un denominador distinto de una potencia de dos tendr un desarrollo octal peridico. Fraccin Octal Resultado en Octal 1/2 1/2 0,4 1/3 1/3 0,25252525 peridico 1/4 1/4 0,2 1/5 1/5 0,14631463 peridico 1/6 1/6 0,125252525 peridico 1/7 1/7 0,111111 peridico 1/8 1/10 0,1 1/9 1/11 0,07070707 peridico 1/10 1/12 0,063146314 peridico 7. CONVERSIN DE DECIMAL A OCTAL Convertir 245 10 245 / 8 = 30 y resta 5 (dgito mas prximo al punto octal) 30 / 8 = 3 y resta 6 (dgito a la izquierda del 5 obtenido arriba) No se puede seguir dividiendo, por lo que el 3 queda como dgito de mayor peso a la izquierda del 6 obtenido arriba. Resultado: 245 10 = 365 8 Convertir 175 10 175 / 8 = 21 y resta 7 (dgito mas prximo al punto octal) 21 / 8 = 2 y resta 5 (dgito a la izquierda del 7 obtenido arriba) No se puede seguir dividiendo, por lo que el 2 queda como dgito de mayor peso a la izquierda del 7 obtenido arriba. Resultado: 175 10 = 257 8 Convertir 0.432 10 0.432 x 8 = 3 .456 (dgito mas prximo al punto octal) 0.456 x 8 = 3 .648 (dgito a la derecha del 3 obtenido arriba) 0.648 x 8 = 5 .184 (dgito a la derecha del 3 obtenido arriba) 0.184 x 8 = 1 .472 (dgito a la derecha del 5 obtenido arriba) Resultado: 0.432 10 = 0.3351 8 8. SISTEMA HEXADECIMAL 9. SISTEMA HEXADECIMAL El sistema hexadecimal actual fue introducido en el mbito de la computacin por primera vez por IBM en 1963. Sistema numrico en base 16, esto significa que contiene 16 smbolos nicos para representar datos: los nmeros del 0 al 9 y las letras de la A a la F. Este sistema es til porque puede representar cada byte (8 bits ) con dos dgitos hexadecimales consecutivos. Esto permite a las personas leer nmeros hexadecimales ms fcilmente que los nmeros binarios . Como en cualquier sistema de numeracin posicional, el valor numrico de cada dgito es alterado dependiendo de su posicin en la cadena de dgitos, quedando multiplicado por una cierta potencia de la base del sistema. 10. SISTEMA HEXADECIMAL A partir del numero 9 se utilizan las letras A, B, C, D, E, F de esta manera: 11. SISTEMA HEXADECIMAL Como el nico factor primo de 16 es 2, todas las fracciones que no tengan una potencia de 2 en el denominador, tendrn un desarrollo hexadecimal peridico. 12. CONVERSIN DE HEXADECIMAL A DECIMAL Los nmeros hexadecimales son convertidos a su equivalente decimal multiplicando el peso de cada posicin por el equivalente decimal del dgito de cada posicin y sumando los productos. Entonces: 121 16 = 1 x 16 2 + 2 x 16 1 + 1 x 160 1 x 256 + 2 x 16 + 1 x 1 256 + 32 + 1 289 10 A1C 16 A x 16 2 + 1 x 16 1 + C x 160 10 x 256 + 1 x 16 + 12 x 1 2560 + 16 + 12 2588 10
13. CONVERSIN DE DECIMAL A HEXADECIMAL Se puede realizar empleando dos procesos: Divisiones sucesivas por 16, cuando el nmero es entero, o multiplicaciones sucesivas por 16, cuando el nmero es fraccionario. Siguiendo los mismos lineamientos empleados con los otros sistemas numricos. 650 10 650 / 16 = 40 y resta 10 = A (dgito mas prximo al punto hexadecimal) 40 / 16 = 2 y resta 8 (dgito a la izquierda del anterior) No se puede continuar dividiendo, por lo que el 2 queda como smbolo mas significativo a la izquierda del anterior. Resultado 650 10 = 28A 16 2588 10 2588 / 16 = 161 y resta 12 = C (dgito mas prximo al punto hexadecimal) 161 / 16 = 10 y resta 1 (Dgito siguiente a la izquierda del obtenido arriba) No se puede seguir dividiendo, por lo que el diez (la A ) queda como smbolo mas significativo a la izquierda del obtenido arriba Resultado 2588 10 = A1C 16 0.642 10 0.642 x 16 = 10 .272 (dgito mas prximo al punto hexadecimal) 10 10 = A 16 0.272 x 16 = 4 .352 (dgito siguiente a la derecha del anterior) 0.352 x 16 = 5 .632 (dgito siguiente a la derecha del anterior) 0.632 x 16 = 10 .112 (Dgito siguiente a la derecha del anterior) 10 10 = A 16 Resultado 0.642 10 = 0.A45A 16