En el que computa y sistemas electrónicos, el decimal codificado en binario (BCD del ) es una codificación para los números decimales en los cuales cada dígito es representado por su propia secuencia binaria. Su virtud principal es que permite la conversión fácil a los dígitos decimales para la impresión o exhibición y cálculos decimales más rápidos. Sus desventajas son la complejidad creciente de los circuitos necesarios para ejecutar operaciones matemáticas y un &ndash relativamente ineficaz de la codificación; ocupa más espacio que una representación binaria pura. Aunque la importancia del BCD ha disminuido, es todavía ampliamente utilizada en usos financieros, comerciales, e industriales.
En el BCD, un dígito es representado generalmente por cuatro pedacitos que, representen generalmente los valores/los dígitos/los carácteres 0-9. Otras combinaciones de pedacito se utilizan a veces para la muestra u otras indicaciones.
Para BCD-codificar un número decimal usar la codificación común, cada dígito decimal se almacena en un mordisco four-bit .
Decimal: 0 1 2 3 4 5 6 7 8 9 BCD: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Así, la codificación del BCD para el número 127 sería:
0001 0010 0111
Puesto que la mayoría de los datos del almacenaje informático en los octetos de ocho bites allí son dos maneras comunes de almacenar dígitos four-bit del BCD en esos octetos:
cada dígito se almacena en un octeto, y los otros cuatro pedacitos entonces se fijan a todos los ceros, todos los (como en el código del EBCDIC ), o a 0011 (como en el código ASCII )
dos dígitos se almacenan en cada octeto.
Desemejante de números codificados binarios, el BCD los números codificados puede ser exhibido fácilmente trazando cada uno de los mordiscos a un diverso carácter. Convertir un número codificado binario al decimal para la exhibición es operaciones de participación mucho más duras de la multiplicación o de la divisoria del número entero.
El BCD es muy común en sistemas electrónicos donde está ser exhibida un valor numérico, especialmente en los sistemas que consisten solamente en la lógica de Digitaces, y no conteniendo un microprocesador . Utilizando el BCD, la manipulación de los datos numéricos para la exhibición puede ser simplificada grandemente tratando cada dígito como solo secundario-circuito separado. Esto empareja la realidad física del diseñador del hardware-uno de la exhibición pudo elegir mucho más de cerca utilizar una serie de las exhibiciones de segmento idénticas separadas 7 para construir un circuito medidor, por ejemplo. Si la cantidad numérica fuera almacenada y manipulara como binario puro, la interconexión a tal exhibición requeriría el trazado de circuito complejo. Por lo tanto, en caso de que los cálculos sean relativamente simples el funcionamiento con el BCD puede llevar en todas partes a un sistema total más simple que convirtiendo al binario “puro”.
La misma discusión se aplica cuando el hardware de este tipo utiliza el microcontrolador encajado o el otro pequeño procesador. A menudo, un código más pequeño resulta al representar números interno en formato del BCD, puesto que una conversión o a la representación binaria puede ser costosa en tales procesadores limitados. Para estos usos, algunos pequeños procesadores ofrecen los modos aritméticos del BCD, que asisten al escribir las rutinas que manipulan cantidades del BCD.
Una variación ampliamente utilizada de la codificación del dos-dígito-por-octeto se llama BCD lleno (o simplemente el decimal comprimido ), donde un número entero decimal se almacena con el " de dos dígitos decimales; packed" en cada octeto, y el dígito pasado (o el mordisco ) se utiliza como indicador de la muestra.
Los valores preferred de la muestra son 1100 (el maleficio C) para el positivo (+) y 1101 (el maleficio D) para la negativa (el −); otras muestras permitidas son 1010 (a) y (b) 1110 (e) para el positivo y 1011 para la negativa. Algunas puestas en práctica también proveen de valores sin firmar del BCD un mordisco de la muestra de 1111 (el maleficio F). En el BCD lleno, el número +127 se representa como los octetos 00010010 01111100 (maleficio 12 7C), y − 127 como 00010010 01111101 (maleficio 12 7D).
Los números decimales de punto fijo son apoyados por algunos lenguajes de programación (tales como COBOL y PL/I ), y proporcionan una coma implícita delante de uno de los dígitos. Por ejemplo, un valor del decimal comprimido codificado con los octetos 12 34 56 7C representa el valor de punto fijo +1.567 cuando la coma implicada está situada entre los 4tos y 5tos dígitos.
Si un dígito decimal requiere cuatro pedacitos, después tres dígitos decimales requieren 12 pedacitos. Sin embargo, desde 210>103, si tres dígitos decimales se codifican juntos entonces solamente 10 pedacitos son necesarios. Dos tales codificaciones son codificación de Chen-Ho y del decimal comprimido denso. Este 3ultimo tiene la ventaja que los subconjuntos de la codificación codifican dos dígitos en los 7 pedacitos óptimos y un dígito en 4 pedacitos, como en el BCD regular.
Para los valores decimales divididos en zonas firmados, el mordisco de derecha de la zona (menos significativo) lleva a cabo el dígito de muestra, que es el mismo sistema de los valores que se utilizan para los números firmados del decimal comprimido (véase arriba). Así un valor decimal dividido en zonas codificado como los octetos hex F1 F2 D3 representa el &minus firmado del valor decimal; 123.
Algunas idiomas (tales como COBOL y PL1 ) apoyan directo los valores decimales divididos en zonas de punto fijo, assiging una coma implícita en una cierta localización entre los dígitos decimales de un número. Por ejemplo, dado un seis-octeto firmó valor decimal dividido en zonas con una coma implicada a la derecha del 4to dígito, los octetos hex que F1 F2 F7 F9 F5 C0 representan el valor +1.
Las posiciones de pedacito en el BCD generalmente fueron etiquetadas el B, A, 8, 4, 2 y el 1. para los dígitos de la codificación, el B y el A eran cero. El A de la letra era el codificado (B, A, 1).
En el alphamerics 1620 del del BCD fueron codificados usar pares del dígito, con el " zone" en incluso el dígito y el " digit" en el dígito impar. El hardware de la traducción de la entrada-salida convirtió entre los pares internos del dígito y los códigos de seis bits estándar externos del BCD.
En el decimal IBM de la arquitectura 7070, el IBM 7072, y el alphamerics del de IBM 7074 fueron codificados usar pares del dígito (usar Dos-hacia fuera-de-cinco code en los dígitos, BCD del no ) de la palabra de 10 dígitos, con el " zone" en el dígito izquierdo y el " digit" en el dígito correcto. El hardware de la traducción de la entrada-salida convirtió entre los pares internos del dígito y los códigos de seis bits estándar externos del BCD.
Por la introducción System/360, IBM substituyó el BCD con EBCDIC de 8 bits ; en EBDIC, la zona es cuatro pedacitos uno, así que el dígito 3 se codifica en un octeto como 111100112 (es decir, el carácter 3 tiene la codificación F316).
Hoy, el BCD es todavía muy usado en los procesadores y las bases de datos de IBM, tales como IBM DB2, las unidades centrales, y el Power6 . En estos productos, el BCD es generalmente BCD dividido en zonas (como en el EBCDIC o el ASCII), BCD lleno, o codificación “pura” del BCD. Todos los éstos se utilizan dentro de los registros de hardware y de las unidades centrales, y en software.
Para realizar la adición en el BCD, usted puede primero agregar-para arriba en formato binario, y después realiza la conversión al BCD luego. Esta conversión implica el agregar de 6 a cada grupo de cuatro dígitos que tiene un valor grande-que 9. de por ejemplo:
9+5=14 = + = en binario.
Sin embargo, en el BCD, no podemos tener un valor grande-que 9 (1001) por el mordisco . Para corregir esto, uno agrega 6 a ese grupo:
1110 + 0110 = 0100
cuál nos da dos mordiscos, y cuál corresponde al " 1" y " 4" respectivamente. Esto nos da los 14 en el BCD que es el resultado correcto.
Ver también la clase particular de Douglas Jones.
El esquema del decimal codificado en binario descrito en este artículo es la codificación más común, pero hay muchos otros. El método aquí se puede referir como el decimal codificado en binario simple ( SBCD ) del o BCD 8421 del . ¡ En los jefes a la tabla, a los “8 4 2 1”, al etc., indica el peso de cada pedacito demostrado; observar que en 5th la columna dos de los pesos ser negativo. Los códigos de carácter del ASCII y del EBCDIC para los dígitos son ejemplos del BCD dividido en zonas, y también se demuestran en la tabla.
La tabla siguiente representa dígitos decimales a partir de la 0 a 9 en varios sistemas del BCD:
En 1972, el Tribunal Supremo de los E. volcó una decisión del tribunal inferior que había permitido una patente para convertir números codificados BCD al binario en una computadora (véase Gottschalk v Benson). Esto era un caso importante en la determinación de la patentabilidad del software y de los algoritmos.
requiere cuatro pedacitos por el dígito, el áspero 20% más espacio que una codificación binaria. Cuando están embalados para codificar tres dígitos en diez pedacitos, los gastos indirectos del almacenaje se reducen a cerca de 0.34%, a expensas de una codificación que sea sin alinear con los límites del byte de 8 bits comunes en el hardware existente, dando por resultado puestas en práctica más lentas en estos sistemas. ¡operaciones de búsqueda de tabla, y rápido usar lógica directa de otra manera. En hardware requiere no más de tres retardos de la puerta. -->
Las puestas en práctica existentes del
l BCD son típicamente más lentas que operaciones en representaciones binarias, especialmente en los sistemas encajados, debido a la ayuda limitada del procesador para las operaciones nativas del BCD. ¡hacia fuera porque esto se cubre ya en la primera bala.
La multiplicación en la base 10 necesita la tabla de una multiplicación 10 x 10 mientras que la misma operación en la base 2 necesita la tabla de multiplicación 2 x 2, que es igual a simple Y a la operación en lógica boleana. -->
Si el error en la representación y el cómputo es la preocupación primaria, algo que la eficacia de la conversión a y desde forma de la exhibición, una representación binaria escalada puede ser utilizada, que almacena un número decimal mientras que un número entero binario-codificado y un exponente decimal firmado binario-codificado.2 se pueden representar como 2 × 10-1. Esta representación permite la multiplicación y la división rápidas, pero puede requerir la multiplicación por una energía de 10 durante la adición y la substracción de alinear los decimales. Es particularmente apropiado para los usos con un número fijo de lugares decimales, que no requieren el ajuste durante la adición y la substracción y no necesitan almacenar el exponente explícitamente.
La codificación de Chen-Ho proporciona una transformación boleana para convertir los grupos de tres dígitos BCD-codificados a y desde 10 valores de pedacito que se puedan codificar eficientemente en hardware con solamente 2 o 3 retardos de la puerta. El decimal comprimido es denso un esquema similar que los repartos más eficientemente y convenientemente con el caso donde no está un múltiplo el número de dígitos de 3.
.
| Random links: | Juan Edwin Sandys | Teorema de Banach-Alaoglu | Lista de guerras polacas | Fox de Paul | E200 anaranjado |