View Full Version : [c++] è possibile ottenere il resto decimale?
In una divisione fra due double è possibile ottenere il resto decimale?
L'operatore & vuole unicamente degli interi.
Grazie anticipatamente.
Se vuoi la parte parte frazionaria di un double...
double f = x - (long)x;
Dipende però cosa intendi per resto.
La divisione fra due double in teoria non ha resto. Puoi però decidere a quale cifra del quoziente fermarti per ottenere poi un resto.
Ad esempio: 102.56 / 25.2 = 4.069841270
Se ti vuoi fermare a 102.56 / 25.2 = 4 con resto r
double x = a / b;
double r = (x - (long)x) * b;
In teoria quello che ho scritto sotto dovrebbe comportare lo switching fra modalità floating point e modalità intera della CPU. Se dovessi scriverlo solo per l'unità floating point (sperando che modf inserisca codice inline ottimizzato e non generi una chiamata a funzione):
double f, q;
f = modf(a / b, &q);
double r = f * b;
Grazie per la risposta!
Speravo ci fosse una funzione tipo rem di matlab, peccato; ho optato per la tua soluzione grazie mille :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.