63 votes

Vous ne pouvez pas Mod Zero ?

Pourquoi X % 0 une expression non valide ?

J'ai toujours pensé que X % 0 devrait être égal à X. Puisque vous ne pouvez pas diviser par zéro, la réponse ne devrait-elle pas naturellement être le reste, X (tout ce qui reste) ?

5voto

Petar Ivanov Points 29530

X % D est par définition un nombre 0 <= R < D , tel qu'il existe Q sorte que

 X = D*Q + R

Donc si D = 0 , aucun tel nombre ne peut exister (car 0 <= R < 0 )

2voto

Billy Moon Points 21439

Je pense que pour obtenir le reste de X % 0 vous devez d'abord calculer X / 0 qui donne l'infini, et essayer de calculer le reste de l'infini n'est pas vraiment possible.

Cependant, la meilleure solution en accord avec votre réflexion serait de faire quelque chose comme ça

 REMAIN = Y ? X % Y : X

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X