El formato Q (número) es un método de punto fijo para codificar enteros fraccionarios y enteros para su procesamiento por la CPU de una computadora o un procesador de señal digital (DSP).
El formato Q se utiliza para permitir el procesamiento de números racionales mediante una unidad lógica aritmética de hardware de enteros estándar (ALU). El formato Q se usa con frecuencia cuando una CPU carece de una unidad de punto flotante (FPU). El formato también puede ser útil para procesar fracciones en DSP de menor costo, lo que reduce los costos de hardware.
Para permitir el procesamiento de fracciones en hardware más antiguo o de menor costo, Q se usa para implicar un punto binario para representar fracciones. El formato Q se almacena y procesa como un entero binario con signo regular. El formato Q especifica cuántos bits se utilizan para representar enteros enteros y cuántos bits se utilizan para representar números enteros fraccionarios. Por ejemplo, para notar que un algoritmo usa un bit para especificar enteros enteros y 15 bits para especificar enteros fraccionarios, se usaría el formato Q1.15. Si no hay decimal en un formato Q, como Q55, eso implica que todos los bits se utilizan para valores fraccionarios.
Un ejemplo de cómo se procesa una fracción bajo el formato Q sería el número real 5.375 representado como a = 0 × 23 + 1 × 22 + 0 × 21 + 1 × 20 + 0 × 2−1 + 1 × 2−2 + 1 × 2−3 + 0 × 2−4 = 5.375.
El formato Q era parte integral de las operaciones fraccionarias en las primeras CPU de PC. El Intel 8086 fue la primera CPU en admitir un coprocesador de punto flotante adicional. Estos coprocesadores redujeron el tiempo dedicado al procesamiento de fracciones y la necesidad de métodos como el formato Q. Las CPU modernas como la serie Intel Core y AMD Ryzen tienen procesadores de punto flotante incorporados junto con la extensión x87 en el conjunto de instrucciones x86 -64.
Vea una introducción al sistema de punto flotante a continuación: