Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219

    [c++]Fixed point numbers

    Come si fa a rappresentare un numero fixed point in c++?
    Che differenza c'è col float?
    Vi faccio un esempio: supponiamo di avere tre cifre per l' esponente e tre cifre per la mantissa, e di voler rappresentare il float 2.75 , lo rappresenterei così in binario:
    codice:
    esponente:  010
    mantissa:   110
    Il 2.75 come si rappresenta in fixed point e a quale tipo di dato corrisponde?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non esiste un tipo fixed-point per il C.

    Devi usare delle librerie apposite che troverai con google ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Ok ho trovato fixed.h , ma non è solo questo il problema.
    Non capisco la rappresentazione del fixed point: 2.75 l' ho rappresentato come un float avendo 3 cifre per la mantissa e 3 per l' esponente: 010 110 , ma allora mi chiedo: come verrebbe rappresentato 2.75 come fixed point?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da ramy89
    Ok ho trovato fixed.h , ma non è solo questo il problema.
    Dove?

    Di cosa parli?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Si ho trovato un header che permette di rappresentare i numeri fixed point, fixed.h
    E li dichiari ad esempio con:
    codice:
    Fixed num=1.25;
    Ora vorrei capire come viene rappresentato un fixed point in binario.

  6. #6
    Viene rappresentato come un intero "implicitamente" diviso per il numero di cifre che vuoi dopo la virgola. In rappresentazione fixed point l'esponente è fisso, dunque viene registrata solo la mantissa.
    In genere si usa fixed point decimale (per importi monetari), in cui l'"esponente implicito" è decimale, per cui 2.75 viene memorizzato come 275 con un *10^-2 implicito.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da ramy89
    Si ho trovato un header che permette di rappresentare i numeri fixed point, fixed.h
    E li dichiari ad esempio con:
    codice:
    Fixed num=1.25;
    Ora vorrei capire come viene rappresentato un fixed point in binario.
    Basterebbe guardare l'implementazione fatta in quel fixed.h ... ma se non dici dove l'hai trovato o non lo mostri, si può solo "supporre" come è stato fatto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Puoi fare un esempio? Ad esempio 2.75, come viene scritto in binario?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da ramy89
    Puoi fare un esempio? Ad esempio 2.75, come viene scritto in binario?
    Puoi farlo, come detto da MItaly, come se fosse

    275

    intero in binario (presupponendo i due decimali).

    Ma ... non è detto che sia sempre così e non è detto che la tua fixed.h faccia così.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.