# Ordenador decimal

Los ordenadores decimales son ordenadores que pueden representar números y direcciones en decimal, así como proporcionar instrucciones para operar con esos números y direcciones directamente en decimal, sin conversión a una representación binaria pura. Algunos usaban palabras de longitud variable, posibilitando operar con números de muchos dígitos.

## Primeros ordenadores

Los primeros ordenadores fueron casi todos decimales, incluyendo el ENIAC, el IBM NORC, el IBM 650, el IBM 1620 o el IBM 7070. En estas máquinas la unidad básica de datos era el dígito decimal, codificado en una variedad de esquemas, incluyendo decimal codificado en binario o BCD, código biquinario, BCD exceso a tres o código Aiken, o código tres de cinco. Excepto en el IBM 1620, estas máquinas tenían direccionamiento por palabras. Cuando se usaban caracteres no numéricos en estas máquinas fueron codificados usando dos dígitos decimales.
Algunos de los primeros ordenadores eran orientados a carácter, pero proporcionaban instrucciones para realizar aritmética usando cadenas de caracteres que constaban de números decimales. En estas máquinas el elemento de dato básico era un carácter alfanumérico , típicamente codificado en 6 bits. UNIVAC I y UNIVAC II usaban acceso por palabra, con palabras de 12 bits. Ejemplos de IBM incluyenlos IBM 702, IBM 705, IBM 7080, IBM 1401 y otros miembros de la familia IBM 1400 series, incluyendo el IBM 7010. Las máquinas de carácter de IBM nominalmente usaban direccionamiento decimal, pero algunos dejaban usas caracteres no decimales en las direcciones para expandir el espacio de direcciones disponible. Las direcciones referenciaban un carácter codificado en 6 bits con dos bits adicionales por carácter, uno de marca de palabra y otro de paridad. La marca de palabra habilitaba operaciones con palabras de longitud variable.

## Ordenadores posteriores

El IBM System/360, introducido en 1964 para unificar las líneas de producto de IBM, utilizaba direccionamiento por palabras binarias, pero también incluían instrucciones para aritmética decimal empaquetada, así como aritmética binaria entera y punto flotante binario. Utilizaba palabras para caracteres de 8 bits introduciendo el sistema de codificación EBCDIC, aunque también soportaba ASCII. El Burroughs B2500 introducido en 1966 también utilizó caracteres EBCDIC o ASCII de 8 bits, podían empaquetar dos dígitos decimales por byte, pero no proporcionaba aritmética binaria, convirtiéndolo en una arquitectura decimal.

## Ordenadores modernos

Varias familias de microprocesador ofrecen soporte decimal limitado. Por ejemplo, la familia 80x86 de microprocesadores proporciona instrucciones para convertir números de un byte en BCD (empaquetados y desempaquetados) a formato binario, antes o después de realizar operaciones aritméticas. Estas operaciones no fueron extendidas a formatos más anchos, por eso en máquinas modernas de 32 bits es más lento utilizar BCD, usando en su lugar 'trucos' para computar en BCD. La FPU x87 tiene instrucciones para convertir datos decimales empaquetados de 10 bits (18 dígitos decimales), a pesar de que entonces opera como si fueran números en coma flotante.
El microprocesador 68000 proporcionó instrucciones para sumas y restas en BCD, estas instrucciones se eliminaron cuándo se definió el conjunto de instrucciones del Coldfire. Todos los mainframes de IBM también proporcionaban aritmética BCD entera en hardware.
La aritmética decimal ahora se está convirtiendo en más común; por ello, tres tipos decimales con dos codificaciones binarias se han añadido al estándar IEEE 754r en 2008, con 7, 16, y 34 dígitos decimales significativos
El procesador de IBM Power6 y el IBM System z9 han implementado estos tipos utilizando codificación binaria Decimal Densamente Empaquetado, el primero en hardware y el segundo en microcodigo