Une petite question sur les opérations modulaire sur entiers (signé ou
non) :
Est-ce que les opération du type 'nombre negatif' modulo x sont définie
dans la norme ou est-ce dépendant des implémentations ?
exemple : (3-18) % 20 = 5 ????
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc Bourguet
JGP_NoMail writes:
Bonjour,
Une petite question sur les opérations modulaire sur entiers (signé ou non) : Est-ce que les opération du type 'nombre negatif' modulo x sont définie dans la norme ou est-ce dépendant des implémentations ? exemple : (3-18) % 20 = 5 ????
merci pour vos réponse.
C90 impose que, pour b non nul, q = a/b et r = a%b sont determines par a = q * b + r et |r| < |b|.
C99 impose de plus que la division entiere tronque vers 0, ou de maniere equivalente que le signe de r soit le meme que celui de a. Il me semble me souvenir avoir lu qu'une des choses faites avait ete de verifier qu'il n'y avais pas d'implementations faisant autrement, meme la seule chose que j'ai trouve c'est une reference a Fortran qui aurait la meme regle que C99.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Une petite question sur les opérations modulaire sur entiers (signé ou non)
:
Est-ce que les opération du type 'nombre negatif' modulo x sont définie
dans la norme ou est-ce dépendant des implémentations ?
exemple : (3-18) % 20 = 5 ????
merci pour vos réponse.
C90 impose que, pour b non nul, q = a/b et r = a%b sont determines par
a = q * b + r et |r| < |b|.
C99 impose de plus que la division entiere tronque vers 0, ou de maniere
equivalente que le signe de r soit le meme que celui de a. Il me semble me
souvenir avoir lu qu'une des choses faites avait ete de verifier qu'il n'y
avais pas d'implementations faisant autrement, meme la seule chose que j'ai
trouve c'est une reference a Fortran qui aurait la meme regle que C99.
A+
--
Jean-Marc
FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Une petite question sur les opérations modulaire sur entiers (signé ou non) : Est-ce que les opération du type 'nombre negatif' modulo x sont définie dans la norme ou est-ce dépendant des implémentations ? exemple : (3-18) % 20 = 5 ????
merci pour vos réponse.
C90 impose que, pour b non nul, q = a/b et r = a%b sont determines par a = q * b + r et |r| < |b|.
C99 impose de plus que la division entiere tronque vers 0, ou de maniere equivalente que le signe de r soit le meme que celui de a. Il me semble me souvenir avoir lu qu'une des choses faites avait ete de verifier qu'il n'y avais pas d'implementations faisant autrement, meme la seule chose que j'ai trouve c'est une reference a Fortran qui aurait la meme regle que C99.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org