Anda di halaman 1dari 34

Colores en hexadecimal

Rojo, verde y azul


Los nmeros hexadecimales se usan en las pginas web para indicar colores. Los colores se definen mezclando cantidades de rojo, verde y azul, cada valor est entre:

0 y 255 (en decimal), o 00 y FF (en hexadecimal)

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):

Decimal: Binario: Hexadecimal:

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.

Ejemplo: un tono de azul sera:


64/255 rojo, 48/255 verde 255/255 azul (el mximo)

As que en decimal es (64,48,255), que equivale al hexadecimal (40,30,FF) y se escribe #4030FF.

Algunos colores comunes


Color
Negro Blanco Rojo Verde Azul Amarillo Cian Magenta

Decimal (Rojo, verde, azul)


(0, 0, 0) (255, 255, 255) (255, 0, 0) (0, 255, 0) (0, 0, 255) (255, 255, 0) (0, 255, 255) (255, 0, 255)

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

Hexadecimal: 0 1 2 3 4 5 6 7 8 9 A Sistema decimal

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

= = = =

NOT 0 = 1 NOT 1 = 0 0 0 1 1 EXOR EXOR EXOR EXOR 0 1 0 1 = = = = 0 1 1 0

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

HexadecimalesDecimalesNmeros binarios, decimales y hexadecimalesConversor binario/decimal/hexadecimalHex Drums

Representacin de enteros de 4 bits

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

Historia del sistema


Pgina del artculo Explication de Binaire de Leibniz.
El antiguo matemtico indio Pingala present la descripcin que se conoce de numeracin binario en el siglo nuestra era, lo cual coincidi descubrimiento del concepto

binario
-4 n/d 1100 1011 1100 0011 l'Arithmtique -5 n/d 1101 1010 1011 0010

-6

n/d

1110

1001

1010

0001

primera un sistema de tercero antes de

-7

n/d

1111

1000

1001

0000

con su del nmero cero.

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)

Conversin entre binario y decimal


Decimal a binario
Se divide el nmero del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y as sucesivamente hasta que el dividendo sea menor que el divisor, 2. Es decir, cuando el nmero a dividir sea 1 finaliza la divisin. A continuacin se ordenan los restos empezando desde el ltimo al primero, simplemente se colocan en orden inverso a como aparecen en la divisin, se les da la vuelta. ste ser el nmero binario que buscamos. Ejemplo Transformar el nmero decimal 131 en binario. El mtodo es muy simple:

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

-> Ordenamos los residuos, del ltimo al primero: 10000011

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

1|0 2|0 4|0 8|0 16|0 32|0 64|0

2 = 128|1

Decimal (con decimales) a binario


Para transformar un nmero del sistema decimal al sistema binario: 1. Se transforma la parte entera a binario. (Si la parte entera es 0 en binario ser 0, si la parte entera es 1 en binario ser 1, si la parte entera es 5 en binario ser 101 y as sucesivamente). 2. Se sigue con la parte fraccionaria, multiplicando cada nmero por 2. Si el resultado obtenido es mayor o igual a 1 se anota como un uno (1) binario. Si es menor que 1 se anota como un 0 binario.

(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 (decimal) Proceso:

=> 0,0101 (binario).

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

=> 101,1 (binario).

6,83 (decimal) Proceso: 6 => 110

=> 110,110101000111 (binario).

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:

(Los nmeros de arriba indican la potencia a la que hay que elevar 2)

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:

Entonces se suman los nmeros 64, 16 y 2:

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:

Binario a decimal (con parte fraccionaria binaria)


1. Inicie por el lado izquierdo (la primera cifra a la derecha de la coma), cada nmero multiplquelo por 2 elevado a la potencia consecutiva a la inversa (comenzando por la potencia -1, 2-1).

2. Despus de realizar cada una de las multiplicaciones, sume todas y el nmero resultante ser el equivalente al sistema decimal. Ejemplos

0,101001 (binario) = 0,640625(decimal). Proceso:

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

0,110111 (binario) = 0,859375(decimal). Proceso:

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

Operaciones con nmeros binarios


Suma de nmeros binarios
La tabla de sumar para nmeros binarios es la siguiente:

10

Las posibles combinaciones al sumar dos bits son:

0+0=0 0+1=1 1+0=1 1 + 1 = 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

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 las columnas (exactamente como en decimal).

Resta de nmeros binarios


El algoritmo de la resta en sistema binario es el mismo que en el sistema decimal. Pero conviene repasar la operacin de restar en decimal para comprender la operacin binaria, que es ms sencilla. Los trminos que intervienen en la resta se llaman minuendo, sustraendo y diferencia. Las restas bsicas 0 - 0, 1 - 0 y 1 - 1 son evidentes:

0-0=0 1-0=1 1-1=0 0 - 1 = 1 (se transforma en 10 - 1 = 1) (en sistema decimal equivale a 2 - 1 = 1)

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

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.

Ejemplo La siguiente resta, 91 - 46 = 45, en binario es:

1011011 -0101110 0101101 el C2 de 0101110 es 1010010

1011011 +1010010 10101101

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

Producto de nmeros binarios


La tabla de multiplicar para nmeros binarios es la siguiente:

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:

10110 1001 10110 00000 00000 10110 11000110

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

Divisin de nmeros binario


La divisin en binario es similar a la decimal; la nica diferencia es que a la hora de hacer las restas, dentro de la divisin, stas deben ser realizadas en binario. Ejemplo

Dividir 100010010 (274) entre 1101 (13):

100010010 /1101 = 010101 -0000 10001 -1101 01000 - 0000 10000 - 1101 00111 - 0000 01110 - 1101 00001

Conversin entre sistema binario y octal


Sistema binario a octal

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

3) La cantidad correspondiente en octal se agrupa de izquierda a derecha. Ejemplos

110111 (binario) = 67 (octal). Proceso:

111 = 7 110 = 6 Agrupe de izquierda a derecha: 67

11001111 (binario) = 317 (octal). Proceso:

111 = 7 001 = 1 11 entonces agregue un cero, con lo que se obtiene 011 = 3 Agrupe de izquierda a derecha: 317

1000011 (binario) = 103 (octal). Proceso:

011 = 3 000 = 0 1 entonces agregue 001 = 1 Agrupe de izquierda a derecha: 103

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.

Conversin entre binario y hexadecimal


Binario a hexadecimal
Para realizar la conversin de binario a hexadecimal, realice lo siguiente: 1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dgitos, entonces agregue ceros a la izquierda. 2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Nmero en binario

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Nmero en hexadecimal

3) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda. Ejemplos

110111010 (binario) = 1BA (hexadecimal). Proceso:

1010 = A 1011 = B 1 entonces agregue 0001 = 1 Agrupe de derecha a izquierda: 1BA

11011110101 (binario) = 6F5 (hexadecimal). Proceso:

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

Factor binario Hexadecimal Octal Decimal

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.

Figure 1.1: Niveles lgicos.

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.

Figure 1.2: Niveles lgicos TTL.

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.

Figure 1.3: Niveles lgicos CMOS.

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.

(to synchronize = sincronizar, synchronization, synchronisation)


1. En forma general, sincronizar es hacer que coincidan en el tiempo dos o ms fenmenos. En otras palabras, sincronizar se refiere a que dos o ms elementos, eventos u operaciones sean programadas para que ocurran en un momento predefinido de tiempo o lugar. 2. En ingeniera electrnica, en lgica digital y en transferencia de datos, la sincronizacin implica que el dispositivo utiliza una seal de reloj. 3. En informtica, sincronizar hace referencia a la coordinacin de procesos que se ejecutan simultneamente para completar una tarea, con el fin de obtener un orden de ejecucin correcto y evitar as estados inesperados. 4. Sincronizar archivos o datos. La sincronizacin de archivos es utilizada para mantener la misma versin de archivos en mltiples dispositivos. Por ejemplo, sincronizar la libreta de direccin de un telfono con la libreta de direcciones de una computadora. Para ms informacin ver: Sincronizar archivos y Sincronizar datos. 5. El trmino sincronizar es tambin utilizado para referirse a la transferencia de contenido de una computadora hacia un reproductor de MP3, un celular o una memoria flash cualquiera. 6. En multimedia, sincronizar es hacer concordar la imagen de video y el audio de una pelcula. La sincronizacin es muy importante en la telefona digital y en el streaming de audio y video. 7. En fotografa, la sincronizacin del flash y la captura de la imagen es muy importante. TRANSFERENCIA DE DATOS 1. En electrnica, razn entre dos variables cualesquiera en un circuito, generalmente la de entrada y la de salida del mismo. 2. Transferencia de datos o informacin. Envo y/o recepcin de datos a travs de algn medio en unared o a travs de un puerto. Para poder lograr una transferencia debe existir algn tipo de conexin (alambrada o inalmbrica) y un lenguaje en comn (protocolo) entre los dispositivos que se conectan. Las transferencias tienen unancho de banda y una velocidad que suele medirse en bps (en bits), o kb/s (en bytes) o similares. Algunos tipos de conexiones con cables pueden ser:

* 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.

Tabla de referencia rpida


Decimal 1 2 3 4 5 6 7 8 9 10 20 30 40 50 100 1000 10000 Binario 1 10 11 100 101 110 111 1000 1001 1010 10100 11110 101000 110010 1100100 1111101000 10011100010000 Binario 1 10 11 100 101 110 111 1000 1001 10000 100000 1000000 10000000 100000000 1000000000 10000000000 100000000000 Decimal 1 2 3 4 5 6 7 8 9 16 32 64 128 256 512 1024 2048

Tabla de referencia rapida


Decimal 1 2 3 4 5 6 7 8 9 10 Hexadecimal 1 2 3 4 5 6 7 8 9 a Hexadecimal 1 2 3 4 5 6 7 8 9 a Decimal 1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20 30 40 50 100 500 1000 10000 100000 1000000

b c d e f 10 11 12 13 14 1e 28 32 64 1f4 3e8 2710 186a0 f4240

b c d e f a0 b0 c0 d0 e0 f0 ff aaa bbb ccc ddd eee fff ffff

11 12 13 14 15 160 176 192 208 224 240 255 2730 3003 3276 3549 3822 4095 65535

Tabla de referencia rapida


Hexadecimal 1 2 3 4 5 6 7 8 9 a b c d e f a0 b0 c0 d0 e0 f0 ff aaa bbb ccc Binario 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10100000 10110000 11000000 11010000 11100000 11110000 11111111 101010101010 101110111011 110011001100 Binario 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000000 11111111 100000000 111111111 1000000000 1111111111 10000000000 100000000000 1000000000000 10000000000000 Hexadecimal 1 2 3 4 5 6 7 8 9 a b c d e f 80 ff 100 1ff 200 3ff 400 800 1000 2000

ddd eee fff ffff

110111011101 111011101110 111111111111 1111111111111111

1.2.9 Sistema octal


El sistema numrico en base 8 se llama octal y utiliza los dgitos 0 a 7. Para convertir un nmero en base decimal a base octal se divide por 8 sucesivamente hasta llegar a cociente 0, y los restos de las divisiones en orden inverso indican el nmero en octal. Para pasar de base 8 a base decimal, solo hay que multiplicar cada cifra por 8 elevado a la posicin de la cifra, y sumar el resultado. Es ms fcil pasar de binario a octal, porque solo hay que agrupar de 3 en 3 los dgitos binarios, as, el nmero 74 (en decimal) es 1001010 (en binario), lo agruparamos como 1 / 001 / 010, despus obtenemos el nmero en decimal de cada uno de los nmeros en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el nmero decimal 74 en octal es 112. En informtica a veces se utiliza la numeracin octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros smbolos diferentes de los dgitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabrade 8 bits, suele ser ms cmodo el sistema hexadecimal, por cuanto todo byte as definido es completamente representable por dosdgitos hexadecimales.

Decimal Binario Hexadecimal octal

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

Sistemas De Numeracin Octal Y Hexadecimal


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

Anda mungkin juga menyukai