Il formato Q (numero) è un metodo a virgola fissa di codifica di interi frazionari e interi per l'elaborazione da parte della CPU di un computer o di un processore di segnale digitale (DSP).
Il formato Q viene utilizzato per abilitare l'elaborazione razionale dei numeri da parte di un'unità logica aritmetica hardware intera standard (ALU). Il formato Q viene utilizzato frequentemente quando una CPU non dispone di un'unità a virgola mobile (FPU). Il formato può anche essere utile per elaborare frazioni su DSP a basso costo, riducendo i costi dell'hardware.
Per consentire l'elaborazione di frazioni su hardware meno costoso o meno recente, Q viene utilizzato per implicare un punto binario per rappresentare le frazioni. Il formato Q viene memorizzato ed elaborato come un intero binario con segno regolare. Il formato Q specifica quanti bit vengono utilizzati per rappresentare interi interi e quanti bit vengono utilizzati per rappresentare interi frazionari. Ad esempio, per notare che un algoritmo utilizza un bit per specificare interi interi e 15 bit per specificare numeri interi frazionari, si utilizzerebbe il formato Q1.15. Se non sono presenti decimali in un formato Q, come Q55, ciò implica che tutti i bit vengono utilizzati per i valori frazionari.
Un esempio di come una frazione viene elaborata nel formato Q sarebbe il numero reale 5.375 rappresentato come a = 0 × 23 + 1 × 22 + 0 × 21 + 1 × 20 + 0 × 2−1 + 1 × 2−2 + 1 × 2−3 + 0 × 2−4 = 5.375.
Il formato Q era parte integrante delle operazioni frazionarie nelle prime CPU per PC. L'Intel 8086 è stata la prima CPU a supportare un coprocessore a virgola mobile aggiuntivo. Questi co-processori hanno ridotto il tempo impiegato per l'elaborazione delle frazioni e la necessità di metodi come il formato Q. Le moderne CPU come la serie Intel Core e AMD Ryzen hanno processori a virgola mobile incorporati insieme all'estensione x87 sul set di istruzioni x86-64.
Guarda un'introduzione al sistema in virgola mobile di seguito: