Bonjour,
J'ai remarqué qu'avec Excel le résultat du modulo de -1 par 10 (=Mod(-1,10)) donne 9, tandis que sur la calculatrice de Windows le résultat est de -1.
Qui a tord, qui a raison, et pourquoi ? Des idées ?
Bonjour,
J'ai remarqué qu'avec Excel le résultat du modulo de -1 par 10 (=Mod(-1,10)) donne 9, tandis que sur la calculatrice de Windows le résultat est de -1.
Qui a tord, qui a raison, et pourquoi ? Des idées ?
Bonjour,
=MOD(nombre;diviseur)
peut également s'exprimer par la formule :
=nombre-diviseur*ENT(nombre/diviseur)
De plus XL adopte comme signe de résultat celui du diviseur.
MOD(1;10) = 1
MOD(-1;10)= 9
MOD(1;-10) = -9
MOD(-1;-10) = -1
D'après ta formule le résultat devrait donc être -1 non ?Envoyé par ullan
-1 - (-1)*ENT(-1/10) = -1 - (-1)*0 = -1
Re,
Pour MOD(-1;10) → -1-10*ENT(-1/10) = 9
De plus : ENT(-1/10) = -1 et pas 0
Le noeud du problème se situe donc dans ENT(-1/10).Envoyé par ullan
La définition est bien "partie entière", donc pour moi -1/10 = -0.1, et donc la partie entière est 0. Mais effectivement Excel n'est pas de mon avis.
Je crois que ce n'est pas Excel, puisque d'autres tableurs renvoient le même résultat, mais bien le processeur.
Il a une logique qui m'échappe à moi aussi !
Je crois avoir compris.
La fonction ENT arrondit à l'unité inférieure.
=ENT(0.1) renvoie 0 parce que 0 est < 0.1
=ENT(-0.1) renvoie -1 parce que -1 est < -0.1
=ENT(-3.25) renvoie -4 parce que -4 est < -3.25
Par contre :
=TRONQUE(0.1) renvoie 0
=TRONQUE(-0.1) renvoie 0
Cela se complique !
Comme je disais ENT arrondit à l'unité immédiatement inférieure, mais :
=ARR0NDI.INF(1.25;0) = 1
=ARRONDI.INF(-1.25;0) = -1
Parce que ARRONDI.INF arrondit en tendant vers 0
Je suis d'accord que la fonction ENT arrondit à l'unité inférieure, mais ce que je ne comprends pas c'est pourquoi cette manière de faire.
Le problème finalement c'est qu'il n'y a pas de définition officielle de la fonction ENT, donc on ne sait pas qui a tord ou raison.
il était une fois...
NON arrêtons
Il y a deux fonctions basic de base (GWBasic...) qui se nommaient "ENT" et "FIX".
Effectivement "ENT" en français fait penser à la partie entière.
Et bien non on arrondi à la valeur inférieure. Donc dans les négatifs au nombre entier en dessous.
Il faut utiliser "FIX" qui correpondait dans le pascal à "TRUNC".
Voila le problème expliqué.
bonjour à tous
ESVBA ? tu as connus le gwbasic ??? cela fait lontemps que je n'ai pas vu FIX() lol
bonne journée aux anciens (et aux jeunes)
Un des premières heures
Salut Wilfried,
Normal que tu ne connaisses pas, tu n'es pas pas breton.
Sinon tu aurais eu une idéefix.
Moi j'aime les filles, surtout Oh! belle X.
re:
bonjour ullan, bien les jeux de mot, mais pour ne pas connaitre c'est autre chose, j'ai programme en Mbasic86, l'ancetre du gwbasic, et encore plus loin, en Kbasic, et encore plus loin .................... il n'y avait pas d'ecran snif et je ne suis pas si vieux lol
Bonne journée
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager