Tecnologix

21/03/2018 12:26

Numeri in virgola mobile: sai davvero cosa sono?

Quante volte avrete sentito parlare di operazioni o di numeri floating point, cioè in virgola mobile. Eppure, se qualcuno vi chiedesse a bruciapelo di darne definizione, forse sareste in imbarazzo. Ebbene, un’operazione in virgola mobile è, per l’appunto, un calcolo (ad esempio fatto mediante gli operatori +, -, *, /) avente come argomenti dei numeri in virgola mobile. Questi ultimi sono numeri decimali le cui caratteristiche, però, sono particolari e differiscono da quelle dei numeri in virgola fissa, la cui rappresentazione introduce vincoli non di poco conto che portano a un maggior consumo di memoria.

Per questo motivo la notazione in virgola mobile è il metodo che in informatica viene comunemente utilizzato per rappresentare e gestire matematicamente i numeri reali, che devono essere rappresentati sfruttando risorse che sono tipicamente finite, come ad esempio lo spazio di memoria o le lunghezze dei registri.

La rappresentazione in virgola mobile viene anche detta notazione esponenziale: fissata una base b (ad esempio 10 come nel linguaggio C, oppure 2 nella rappresentazione binaria), un qualsiasi numero reale n può essere rappresentato da una coppia Mantissa-Esponente in questo modo:

n = M x b^E

Se da un lato i numeri in virgola mobile consentono maggiore flessibilità di rappresentazione, dall’altro però le operazioni che ne fanno uso sono più pesanti da eseguire. Per questo motivo, molte applicazioni embedded che devono fare i conti con le scarse risorse disponibili, preferiscono evitare questo tipo di rappresentazione ricorrendo, se possibile, ai soli numeri interi.

La rappresentazione dei numeri in virgola mobile è normata dallo standard IEEE 754.

Per maggiori informazioni: http://www.keil.com/support/docs/1476.htm

 

KEIL

Keil – Tools by Arm produce compilatori C, macro assembler, kernel real-time, debugger, simulatori, IDE e schede di valutazione per famiglie di microcontrollori basate su Arm7/Arm9™/Cortex™-M3, XC16x/C16x/ST10, 251, e 8051. I prodotti Keil comprendono sistemi di sviluppo embedded, software di valutazione, application notes, esempi, aggiornamenti e supporto tecnico.

Maggiori informazioni su Keil sono disponibili su www.keil.com