Precisione float

di il
3 risposte

Precisione float

Salve,

io lavoro su diverse piattaforme e sarebbe bello poter ottenere gli stessi risultati numerici su tutte le piattaforme. Credo che il problema sia riconducibile alla diversa precisione utilizzata nei calcoli sui float. La mia domanda è quindi: esiste un'istruzione per settare tale precisione ad una valore fisso per tutte le piattaforme?

Grazie,

Alessandro

3 Risposte

  • Re: Precisione float

    Di quali piattaforme parli in particolare ? E quali differenze hai notato ?
  • Re: Precisione float

    Le piattaforme sono:

    1) windows con compilatore gcc
    2) windows con compilatore visual studio
    3) cluster linux con compilatore credo intel

    su uno e due riesco a ottenere valori coincidenti inserendo per 1) la seguente istruzione:

    asm ("fldcw %0" : : "m" (*&0x27F));

    che dovrebbe settare la doppia precisione, e su due usando l'opzione 'precise' del compilatore per la floating point arithmetics.

    Le differenze che noto sono difficli da spiegare, ma la sostanza è che i valori numerici sono diversi.
  • Re: Precisione float

    Non so se hai letto questo ma faresti bene a leggerlo
    http://www.codercorner.com/FPUFun.ht
    Il valore 27F non mi sembra che controlli la precisione essendo la stessa specificata nei bit 9 e 8 del registro. Cosi stai modificando un casino di bit.
    http://www.website.masmforum.com/tutorials/fptute/fpuchap1.htm#cword
Devi accedere o registrarti per scrivere nel forum
3 risposte