bonjour,
num me renvoit un nombre négatif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 long num = 10; for (long i = 0; i< 600000000; i++) { num += i; }
merci ?
bonjour,
num me renvoit un nombre négatif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 long num = 10; for (long i = 0; i< 600000000; i++) { num += i; }
merci ?
Gia,
As-tu estimé la valeur finale attendue ?
Quelle est la taille de ton long ? (Ça dépend du compilateur et de sa version)
Si les cons volaient, il ferait nuit à midi.
Bonjour,
Ici :il faut mettre un 'L' comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part for (long i = 0; i< 600000000; i++)Je pense, afin de bien indiquer que le nombre est aussi un statique (même si la limite n'a pas été dépassée )
Code : Sélectionner tout - Visualiser dans une fenêtre à part for (long i = 0; i< 600000000L; i++)
EDIT : complètement à coté de la plaque.
num aura une très très grande valeur, vous ajoutez 600000000 + 599999999 + 599999998 ... ce qui donne tout de même une immense valeur, vous ne pensez pas ? (Avec beaucoup de malchance, plus grande que la représentation d'un long signé).
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Bonjour,
Immense valeur égale à (10 +) 600000000 * (600000000 + 1) / 2 ~ 1.8.1017.
- Si la taille du long fait 32 bits, la valeur maximale est de 231-1 ~ 2.1.109 => on dépasse ;
- Si la taille du long fait 64 bits, la valeur maximale est de 263-1 ~ 9.2.1018 => ça passe.
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