Non hai bisogno di hardware in virgola mobile per utilizzare la matematica in virgola mobile.
IEEE-754 ha un numero di lunghezze in virgola mobile 80, 64, 32 e ora un 16. Esistono altri formati in virgola mobile non-ieee. Il formato / standard IEEE è molto doloroso, quasi tutte le funzionalità sono sprecate, poche le conoscono e poche o nessuna delle lingue ti dà la possibilità di usarle. Con l'hardware conforme non si riesce ancora a soddisfare le specifiche perché il software / sistema operativo ne fa parte. È necessario fornire risposte diverse a seconda che le eccezioni siano intrappolate, ad esempio. Troverai i formati in virgola mobile non IEEE in DSP per velocità, dimensioni del processore, ecc. Sono stati più strettamente sintonizzati su ciò che hai realmente utilizzato per la fpu e non su tutto ciò che avremmo mai potuto desiderare e l'approccio di kitchen sink utilizzato dallo standard IEEE.
Non tutte le fpu hardware supportano ogni lunghezza.
I bug di fpu vengono spesso risolti non usando l'hardware per l'istruzione rotta, o l'istruzione rotta è racchiusa da un software per risolvere eventuali problemi. L'hardware potrebbe essere migliorato negli ultimi 5-10 anni, ma è stato difficile trovare una fpu hardware senza problemi. Per evitare l'imbarazzo del pentium tutto da capo avresti bisogno o almeno vuoi correggere i bug nel software. la difficoltà delle specifiche IEEE è il motivo per cui è raro trovare un sistema che soddisfi completamente le specifiche. correggere il bug nel software entra nei compilatori e nei sistemi operativi, a meno che tu non controlli tutti e tre (hardware, compilatore, sistema operativo), anche tu potresti fallire.
Normalmente si compila il programma sapendo cosa ci si aspetta di eseguire, almeno con ARM compilato per hard float o soft float. È certamente possibile rilevare la libreria in virgola mobile e quindi utilizzare la soluzione appropriata da lì in poi in modo che un binario possa funzionare su entrambi. Devi esaminare separatamente ciascun compilatore per sapere quali sono le soluzioni / regole. I compilatori tendono a sapere quali piattaforme normalmente non lo supportano e non creano build per il soft float di default e altre piattaforme che normalmente o sempre hanno una fpu e, normalmente, costruiscono per una fpu hardware, per esempio.
Stai cercando di decidere quando usarlo? Come regola generale, evitalo a meno che tu non ne abbia davvero, davvero bisogno. Quando lo usi ci sono molti modi per usarlo male, capire come usarlo senza sprecarlo o senza ottenere la risposta sbagliata. Potresti stare meglio con la matematica intera o tenere traccia del decimale da solo.