J'ai un programme en C ++ (compilé avec g ++). J'essaie d'appliquer deux doubles comme opérandes à la fonction de module, mais j'obtiens l'erreur suivante:
erreur: opérandes non valides des types 'double' et 'double' en binaire 'opérateur%'
Voici le code:
int main() {
double x = 6.3;
double y = 2;
double z = x % y;
}
fmod(x,0.1)
divisera x par cette fraction précise et prendra le reste, plutôt que de diviser par la valeur numérique "un dixième".
fmod
peuvent provoquer des comportements inattendus. Par exemple,fmod(1, 0.1);
devrait mathématiquement être nul, mais sera en fait presque 0,1. L'ampleur de l'erreur augmente avec la magnitude du quotient. Par exemple,fmod(9E14, 0.1);
évalue à environ 0,05, ce qui est tout simplement faux d'un point de vue mathématique.