Ho un programma in C ++ (compilato usando g ++). Sto cercando di applicare due doppi come operandi alla funzione modulo, ma ottengo il seguente errore:
errore: operandi non validi di tipo 'double' e 'double' in binary 'operator%'
Ecco il codice:
int main() {
double x = 6.3;
double y = 2;
double z = x % y;
}
fmod(x,0.1)
dividerà x per quella frazione precisa e prenderà il resto, anziché dividere per il valore numerico "un decimo".
fmod
possono causare comportamenti imprevisti. Ad esempio,fmod(1, 0.1);
dovrebbe essere matematicamente zero, ma in realtà sarà quasi 0,1. L'entità dell'errore aumenta con l'entità del quoziente. Ad esempio,fmod(9E14, 0.1);
valuta circa 0,05, che è da un punto di vista matematico semplicemente sbagliato.