PDA

Visualizza la versione completa : [C] funzione scanf ()


MrX87
04-02-2009, 00:12
Ciao a tutti, avevo un problema, mi serviva leggere dei numeri reali da tastiera con la scanf(), perņ mi serviva memorizzare solo le prime 2 cifre decimali dei numeri introdotti...c'č qualcuno che sa dirmi se c'č un modo particolare per leggere con la scanf in questo modo?
grazie

oregon
04-02-2009, 00:17
Non ha senso ... acquisisci il valore e poi visualizzalo, salvalo, facci quello che vuoi tenendo in considerazione due cifre decimali ...

MrX87
04-02-2009, 00:23
Non ha senso ... acquisisci il valore e poi visualizzalo, salvalo, facci quello che vuoi tenendo in considerazione due cifre decimali ...
si...fino a visualizzarlo sono daccordo, perņ se per esempio devo operare su 2 variabili float:
x = 2.25;
y = -2.25;
se in questo caso io faccio z = x + y
z non č zero perchč il calcolo che fa la macchina avviene in virgola mobile e magari le due variabili sono su un numero di bit diversi! o sto dicendo solo cose che non c'entrano?!?!
grazie comunque per i chiarimenti

oregon
04-02-2009, 00:32
[quote]sono su un numero di bit diversi! o sto dicendo solo cose che non c'entrano?!?!

In effetti quello che dici non c'entra ...

Il problema che lamenti e' solamente da attribuirsi ai noti problemi di precisione della rappresentazione binaria dei valori in virgola mobile (vedi ampia documentazione su internet).

Potresti superare questo problema usando dei double e non dei float.

Loading