2 réponses
Ça n'a aucun sens de parler de calcul modulaire sur les réels !
Quand tu fais a%b c'est le reste de la division, or pour des réels elle est forcément nulle.
Pour des entiers on aurait q=a/b et r=a%b tels que a = q*b+r
Or avec des réels on aura q*b qui est exactement égal à a, donc r=0...
Ce n'est pas un bug, tu obtiens 0 car c'est la bonne valeur, même si elle n'a aucun sens...
Quand tu fais a%b c'est le reste de la division, or pour des réels elle est forcément nulle.
Pour des entiers on aurait q=a/b et r=a%b tels que a = q*b+r
Or avec des réels on aura q*b qui est exactement égal à a, donc r=0...
Ce n'est pas un bug, tu obtiens 0 car c'est la bonne valeur, même si elle n'a aucun sens...
Salut.
Bien sur que ça a un sens de parler de modulo avec des réels. Exemple courant en mathématique avec les angles :
Si cos(a) vaut 1 alors a vaut 0 modulo 2 pi.
Je ne connais pas de fonction C/C++ pour calculer le modulo de réels, mais on doit pouvoir la faire assez facilement.
Bien sur que ça a un sens de parler de modulo avec des réels. Exemple courant en mathématique avec les angles :
Si cos(a) vaut 1 alors a vaut 0 modulo 2 pi.
Je ne connais pas de fonction C/C++ pour calculer le modulo de réels, mais on doit pouvoir la faire assez facilement.
template<typedef T> T modulo(T nb,T mod) { T resu=nb; while(resu>mod) resu-=mod; return resu; }