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".
fmodpeuvent 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.