Quelle est la difference entre le modulo et le reste d'une division ?
L'opération modulo, si elle est bien définie pour les nombres positifs, possède plusieurs définitions lorsque dividende ou diviseur sont négatifs. Par convention, selon que le résultat prend le signe du diviseur ou du dividende, on appellera l'opération respectivement modulo ou reste (de la division euclidienne). Les différences sont illustrées dans le tableau suivant : Dividende | Diviseur | Modulo | Reste | 17 | 5 | 2 | 2 | 17 | -5 | -3 | 2 | -17 | 5 | 3 | -2 | -17 | -5 | -2 | -2 | L'opérateur Mod de Visual Basic implémente le reste, au contraire de l'opérateur propre à certains autres langages de programmation. Le modulo peut néanmoins être implémenté de la sorte : Public Function Modulo(Dividend As Long, Divisor As Long) As Long Dim Div As Currency Div = Dividend / Divisor Modulo = Dividend - Divisor * Int(Div) End Function Pour aller plus loin Voir aussi : |