CÓDIGO DECIMAL:
Fundamentos
En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD). En la siguiente tabla se muestran los códigos BCD más empleados:
Decimal Natural Aiken 8 4 2 1 Exceso 3
0 0000 0000 0000 0011
1 0001 0001 0001 0100
2 0010 0010 0010 0101
3 0011 0011 0011 0110
4 0100 0100 0100 0111
5 0101 1011 0101 1000
6 0110 1100 0110 1001
7 0111 1101 0111 1010
8 1000 1110 1000 1011
9 1001 1111 1001 1100
Como se observa con el BCD sólo se utilizan 10 de las 16 posibles combinaciones que se pueden formar con números de 4 bits, por lo que el sistema pierde capacidad de representación, aunque se facilita la compresión de los números. Esto es porque el BCD sólo se usa para representar cifras no números en su totalidad. Esto quiere decir que para números de más de una cifra hacen falta dos números BCD para componerlo. A primera vista esto puede parecer más engorroso pero en realidad de cara al cálculo y la programación de sistemas digitales es sumamente práctico ya que permite trabajar de hecho con números decimales ordinarios haciendo uso solo de los dos bits posibles que otorga un circuito digital típico ON (1) / OFF (0). Algo que como se verá resulta muy útil.
Una forma sencilla de calcular números en BCD, es sumando normalmente bit a bit, y si el conjunto de 4 bits sobrepasa el número 9, entonces se le suma un 6 (0110) en binario, para poder volver a empezar, como si hiciéramos un módulo al elemento sumante.
Desde que los sistemas informáticos empezaron a almacenar los datos en conjuntos de ocho bits (octeto), hay dos maneras comunes de almacenar los datos BCD:
Omisión de los cuatro bits más significativos (como sucede en el EBCDIC)
Almacenamiento de dos datos BCD, es el denominado BCD "empaquetado", en el que también se incluye en primer lugar el signo, por lo general con 1100 para el + y 1101 para el -.
De este modo, el número 127 sería representado como (11110001, 11110010, 11110111) en el EBCDIC o (00010010, 01111100) en el BCD empaquetado.
El BCD sigue siendo ampliamente utilizado para almacenar datos, en aritmética binaria o en electrónica. Los números se pueden mostrar fácilmente en visualizadores de siete segmentos enviando cada cuarteto BCD a un visualizador. La BIOS de un ordenador personal almacena generalmente la fecha y la hora en formato del BCD, probablemente por razones históricas se evitó la necesidad de su conversión en ASCII.
La ventaja del código BCD frente a la representación binaria clásica es que no hay límite para el tamaño de un número. Los números que se representan en formato binario están generalmente limitados por el número mayor que se pueda representar con 8, 16, 32 o 64 bits. Por el contrario utilizando BCD añadir un nuevo dígito sólo implica añadir una nueva secuencia de 4 bits.
El BCD en electrónica
El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico, especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador).
Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito sería mucho más complejo que si se utiliza el BCD.
IBM y el BCD
IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números, letras mayúsculas y caracteres especiales. Una variante del BCD fue utilizada en la mayoría de las primeras computadoras de IBM, incluyendo IBM1620 e IBM 1400. Con la introducción de System/360, el BCD fue substituido por el EBCDIC de ocho bits.
Las posiciones de los bits, en el BCD de seis bits, generalmente fueron etiquetadas como B, A, 8, 4, 2 y 1. Para codificar los dígitos numéricos, A y B eran cero. La letra A fue codificada como (B,A,1).
Historia legal
En 1972, el Tribunal Supremo de Estados Unidos anuló la decisión de una instancia más baja de la corte que había permitido una patente para convertir números codificados BCD a binario en una computadora (véase Gottschalk v Benson en inglés). Este fue uno de los primeros casos importantes en la determinación de la patentabilidad del software y de los algoritmos.
En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD). En la siguiente tabla se muestran los códigos BCD más empleados:
Decimal Natural Aiken 8 4 2 1 Exceso 3
0 0000 0000 0000 0011
1 0001 0001 0001 0100
2 0010 0010 0010 0101
3 0011 0011 0011 0110
4 0100 0100 0100 0111
5 0101 1011 0101 1000
6 0110 1100 0110 1001
7 0111 1101 0111 1010
8 1000 1110 1000 1011
9 1001 1111 1001 1100
Como se observa con el BCD sólo se utilizan 10 de las 16 posibles combinaciones que se pueden formar con números de 4 bits, por lo que el sistema pierde capacidad de representación, aunque se facilita la compresión de los números. Esto es porque el BCD sólo se usa para representar cifras no números en su totalidad. Esto quiere decir que para números de más de una cifra hacen falta dos números BCD para componerlo. A primera vista esto puede parecer más engorroso pero en realidad de cara al cálculo y la programación de sistemas digitales es sumamente práctico ya que permite trabajar de hecho con números decimales ordinarios haciendo uso solo de los dos bits posibles que otorga un circuito digital típico ON (1) / OFF (0). Algo que como se verá resulta muy útil.
Una forma sencilla de calcular números en BCD, es sumando normalmente bit a bit, y si el conjunto de 4 bits sobrepasa el número 9, entonces se le suma un 6 (0110) en binario, para poder volver a empezar, como si hiciéramos un módulo al elemento sumante.
Desde que los sistemas informáticos empezaron a almacenar los datos en conjuntos de ocho bits (octeto), hay dos maneras comunes de almacenar los datos BCD:
Omisión de los cuatro bits más significativos (como sucede en el EBCDIC)
Almacenamiento de dos datos BCD, es el denominado BCD "empaquetado", en el que también se incluye en primer lugar el signo, por lo general con 1100 para el + y 1101 para el -.
De este modo, el número 127 sería representado como (11110001, 11110010, 11110111) en el EBCDIC o (00010010, 01111100) en el BCD empaquetado.
El BCD sigue siendo ampliamente utilizado para almacenar datos, en aritmética binaria o en electrónica. Los números se pueden mostrar fácilmente en visualizadores de siete segmentos enviando cada cuarteto BCD a un visualizador. La BIOS de un ordenador personal almacena generalmente la fecha y la hora en formato del BCD, probablemente por razones históricas se evitó la necesidad de su conversión en ASCII.
La ventaja del código BCD frente a la representación binaria clásica es que no hay límite para el tamaño de un número. Los números que se representan en formato binario están generalmente limitados por el número mayor que se pueda representar con 8, 16, 32 o 64 bits. Por el contrario utilizando BCD añadir un nuevo dígito sólo implica añadir una nueva secuencia de 4 bits.
El BCD en electrónica
El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico, especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador).
Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito sería mucho más complejo que si se utiliza el BCD.
IBM y el BCD
IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números, letras mayúsculas y caracteres especiales. Una variante del BCD fue utilizada en la mayoría de las primeras computadoras de IBM, incluyendo IBM1620 e IBM 1400. Con la introducción de System/360, el BCD fue substituido por el EBCDIC de ocho bits.
Las posiciones de los bits, en el BCD de seis bits, generalmente fueron etiquetadas como B, A, 8, 4, 2 y 1. Para codificar los dígitos numéricos, A y B eran cero. La letra A fue codificada como (B,A,1).
Historia legal
En 1972, el Tribunal Supremo de Estados Unidos anuló la decisión de una instancia más baja de la corte que había permitido una patente para convertir números codificados BCD a binario en una computadora (véase Gottschalk v Benson en inglés). Este fue uno de los primeros casos importantes en la determinación de la patentabilidad del software y de los algoritmos.
CÓDIGO BINARIO:
El término bit, es una abreviación de dígito binario, un dígito binario es un estado “abierto” o “cerrado” lógico, se lo comprende mostrándolo y analizándolo como un “1” o “0”. En una computadora es representado un “1” o “0” eléctricamente con diferencia de voltaje; en el caso de un Disco Rígido (generalmente el Sistema de Almacenamiento Principal en una PC), o CD, por dos formas distintas de diminutas marcas en la superficie, en el caso del Disco Rígido señales magnéticas, en el caso del CD señales que reflejarán el "láser" que rebotará en el CD y será recepcionado por un sensor de distinta forma (debido a que son hechas de tal forma que reboten distinto la luz), indicando así, si es un cero o un uno. Te sorprenderías de saber toda la información que uno emite y recibe a través de máquinas cada día, mediante simples “unos” y “ceros” en grupos, que son transformados en distintas cosas interpretables por nosotros: imagen, sonido, o simplemente reproduciendo algún formato digital, o manejando componentes. La era de lo digital... No hay que confundir bit con byte No hay que confundir nunca bit con byte, aunque publicidades de productos intenten confundir, no es lo mismo. Byte es un grupo de 8 bits, es decir en él tenemos 18 posibles estados binarios. En Internet, por ejemplo, se suele usar bit que son dos estados 1 o 0, para indicar una tasa de trasferencia. Por ejemplo, 54Kb no son en realidad 54Kbyts son 8 veces menos que el equivalente en información almacenados en una computadora, en la cual se suele medirse todo en byts que repito, cada uno son 8 bits. Además a estos 54Kb "comerciales", hay que sumarle que no son los standard ya que comercian los óptimos. Si tuvieran por ejemplo una conexión con fibra óptica (que rinde obviamente extremadamente más), es decir sin perder nada de los 54Kbits que entrega una empresa, obviamente esto también es válido en conexiones de 5MB o más, en realidad en el caso de los 5 MB (generalmente con la trampita publicitaria) son 5MB dividido 8 menos perdidas por transmisión de dados casi siempre (aunque actualmente algunos cumplen al 100% o la hacen frente al primer reclamo), desde la central hasta el punto en que se encuentra el cliente, es decir la cifra real desciende mucho. Con una conexión de 5MB común y corriente para transferir un archivo de 5MB no se tardará un segundo, es posible se llegue a tardar 20, también hay que evaluar la velocidad de Internet y el otro punto, y si el otro punto es lento al final la velocidad sigue bajando más. Pero esto ya es otro tema. |
Bit y byte quede claro entonces, no significa lo mismo. Bit es un número cero o un número uno, o un estado abierto o cerrado, un interruptor activado o desactivado, un estado lógico. Mientras que byte ya más que un estado lógico, en informática es un grupo de estos que se interpretan como un signo, un carácter, que puede formar luego una palabra, o una instrucción. Si yo escribo la letra: A esta A son 1 byte; formado por 8 bits, fíjese la cantidad de bits que hay en este texto: muchos.
En electrónica digital ¿como represento números en binario?
El sistema binario o sistema de numeración de base dos, es un lenguaje utilizado en electrónica digital. En una computadora, una persona interactua con una máquina, y ésta interpreta en su base, únicamente código binario, por más que el usuario esté usando un Mouse. Si en una máquina sólo interpreta, digamos “unos y ceros”, que en realidad no sabe la máquina lo que es un uno o un cero sino que todo es dos estados; originariamente: “pasa” o “no pasa” corriente, aunque ahora se utilizan distintas señales como se dijo, por ejemplo lo que interpretamos como “1” puede ser 5 volteos y lo que interpretamos como “0” pueden ser 3 volteos. La pregunta es: ¿cómo le expreso a una máquina el número 3? Agrupando unos y ceros. Obviamente cuantos más valores binarios agrupemos, más números humanos se podrán representar, y también letras; ya que deduzca que los números que utilizamos son 10 (diez) números que al ir cambiando su orden y cantidad, hacemos números más extensos, y lo mismo ocurre con las letras.
Entonces para comenzar ya podemos saber que:
Para representar del 0 al 1 necesito 1 bit;
Para representar del 0 al 3 necesito 2 bit;
Para representar del 0 al 7 necesito 3 bit;
CÓDIGO HEXADECIMAL:
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
CÓDIGO ASCII:
Código estaunidense (para variar) Estandar para el intercambio de la información (american standard code for information interchange). Es el recomendado por en ANSI (instituto estaunidense de normas). Utiliza grupos de 7 bits por caracter, permitiendo 2 elevado 7 = 128 caracteres diferentes, lo que es sufiente para el alfabeto con letras mayusculas y minisculas y simbolos de una maquina de escribir corriente. Un código ASCII extendido usa 8 bits por caracter, lo que añade otros 128 caracteres posibles. Este juego de codigos mas amplio perimte que se agregen los simbolos de lenguajes extrangeros y varios simbolos graficos. ASCII es el codigo mas extendido y es utilizado por sistemas operativos como DOS, Windows, y UNIX.
Un ejemplo: todo lo que introducimos en nuestro PC, suponiendo que este bajo un plataforma antes mencionada, o por ejemplo GNU/Linux, seria en codigo ASCII, claro que eso al procersarlo al ordenador, se pasaria a binario en paquetes de 8 bits osease 1 byte de informacion por caracter.
|
|
|
| ||||||||||||||||||||||||||||||||||||
|
|
|
|
CÓDIGO EBCDIC:
El código BCD se expanderia de este modo: extendido de caracteres decimales codificados en binario para el intercambio de informacion (extended BCD interchange intercode). ES un sistema de codificacion que tiene como objetivo la representación de caracteres alfanumericos. Es el utilizado por IBM para sus ordenadores de la serie IBM PC. En este sistema de caracteres, cada caracter tiene 8 bits, entonces, al tener 8 podremos reresentar hasta 2 elevado 8 = 256 caracteres. Sera posible almacenar letras mayusculas , caracteres especiales etc… para los dispositivos de E/S.
011111001000000011111111001011111001010000001110000110011100
011110001010101100100111100110111000000001000100000101001011
111111100100101100110000000111100010011100100011011100010001
101111111000000110101111101001100100101000110100111101001010
001011010101011100001001010000000000001010000011000000000100
001010010101100011001000111111100001011011010101111001011100
110001101001011001111011100010011010110101101000111000001101
110000010110100111100000111011101100001010001011100100101111
111111110010000010011110010110101000001011001111110100011111
010110111101101110010111100010100001001010111001101010001010
000100100010011010000000011000010000011001111000100100010110
100001101110111111111001100100110100000011000010010100111010
011011101000110010011001011001011101001001110000101111111101
010010110010011111010100001101010011111101111011100111000000
001000110000000000101110111011011100100111010010101100101001
111000010100000011000100010101110000000000101010101101100011
001100000110110010011011001000100011100101110001010000011001
011011001111011110101100110010010010010101010111010101000000
011100000101110110101100011011011011011011100001000100001110
101110001001101011010011000111001000101100110101100100111000
100100100110001010110011001010001100001100111011110100011110
011010111001100100011100001111000010000100010011001101100100
010001100111011100110000011110010101011100111011110111010101
110001011101100110000101011110011011010000000001010010101110
000011000000001011110100001001000000010011010110110000011101
111010011110110101011100111111111011010000111000111010111111
101100010001001100001000000011011001111000001011010010100111
011111001101110011110101110111000110001111000110100111111010
010000111111001011010111010010110010101101100000001101000000
001110110110110011101111101110001010010001110011101101011011
011010000110000101111011100010100111110100111101011010111011
011111110001111101011111001110100001101010000101000001101011
001101100111011110010111110110001101111011100101101010010100
001010100111010000001100010101000000110111000010111110111010
_ __ _ __ __ _ ___ _ _ __ __ _ __ ___ ____
/// //// /,'_/ ,' \ ,' _/ .' \ / |/ /,'_/ /// // _/ /_ ,'
/ ` // U // /_n/ o | _\ `. / o // || // /_ / ` // _/ ,','
/_n_/ \_,' |__,'|_,' /___,'/_n_//_/|_/ |__//_n_//___/,'___/
hugo sanchez
binario:
011010000111010101100111011011110010000001110011011000010110111001100011011010000110010101111010hexadecimal:
6875676f2073600000000000
decimal:
1.4193277456956E+26
octal:
1