Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : programme de debutant [ Archives / Maths & Algorithmes ] (MoveX)

lundi 7 février 2005 à 22:29:23 | programme de debutant

MoveX

je suis un ultra debutant et pour decouvrir un peu le c++, j ai pondu un petit truc, seulement je comprends pas pourquoi les valeurs s arretent a 65536. meme en passant long int au lieu de int a la declaration des variables.

[code]
#include <stdio.h>

main()
{

      long int i,n;

      n=2;

      for (i=1; i<10; i++)
      {
           printf("%d\n", n);
           n=n*n;
      }

      system("pause");

      return 0;
}
[/code]

merci


lundi 7 février 2005 à 23:06:03 | Re : programme de debutant

Hylvenir

Salut,
je ne sais pas trop quel bouquin tu as pour découvrir le C++, mais si les premières page ressemble à ce code... brûle le.
C'est du C de la mode des années 70's.

[code]
// Petite boucle
#include <iostream>
int main() {
    long n = 2;
    for( int i = 0; i < 10; ++i, n *= n )
       std::cout << i << std::endl;
}
[/code]

Pour la limite de 65536,   disons que pour les entiers, faut pas en demander trop ;)
tu peux changer le 'long' en 'double' si tu veux voir des plus grand nombres.
Mais 'n *=2 ' semble plus raisonnable pour juste voir les puissances de 2.


// Ma participation à la saturation du net:
// http://hylvenir.free.fr

lundi 7 février 2005 à 23:06:41 | Re : programme de debutant

Hylvenir

arggh...

il faut lire :

std::cout << n << std::endl;

of course ;)


Ma participation à la saturation du net:
http://hylvenir.free.fr

mardi 8 février 2005 à 07:42:50 | Re : programme de debutant

MoveX

je n ai pas de bouquin, je fais juste quelques decouvertes pour l instant...
j ai chopper ca sur un site...
mais un long int, cest bien plus qu un simple entier??? normalement ca devrait depasser les 65536? non?
bon je vais faire ca avec double.

merci


mardi 8 février 2005 à 07:45:38 | Re : programme de debutant

MoveX

cest marrant mais ca ne fonctionne pas ton code avec dev c++

mardi 8 février 2005 à 08:09:28 | Re : programme de debutant

Hylvenir

c'est bizarre, c'est un copier/coller d'un code pour dev-cpp.
C'est quoi l'erreur ?

Ma participation à la saturation du net:
http://hylvenir.free.fr

mardi 8 février 2005 à 09:07:21 | Re : programme de debutant

ymca2003

un long int (32 bits) devrait aller jusqu'a 2^31-1 soit 2 147 483 647 en arithmétique signée.
ton problème vient du fait que tu calcul ((2^2)^2)... 10 fois ce qui fait au final
1.797.10^308 donc il  a un très gros dépassement de capacité et donc ton calcul est faux.
boucle 1 : n= 2 n*n = 4
boucle 2 : n = 4 n*n = 16
boucle 3 : n = 16 n*n = 256
boucle 4 : n = 256 n*n =65536
boucle 5 : n = 65536 n*n = 4294967296
= > ne tient pas sur 32 bits car ça fait en hexa (8 chiffres heax maxi):
1 0000 0000 tronqué à 0000 0000 ce qui donne donc n = 0
les boucles suivante, n étant égal à 0, tu auras toujours 0.

En conclusion, losque l'on programme il faut toujours savoir quelles seront les valeurs min et max des valeurs que l'on manipule pour éviter des dépassements de capacité sinon le risque est énorme (comme la destruction d'une fusée ariane par exemple...)

mardi 8 février 2005 à 18:28:17 | Re : programme de debutant

MoveX

ok ok, bon cest note pour le depassement, mais pour l exemple de hylvenir ca marche pas, meme en changeant i par n. dev c++ me dit qu il y a une erreur, en fait, qu il y en a 31!

mardi 8 février 2005 à 18:31:47 | Re : programme de debutant

ymca2003

Le code qu'il t'a donné c'est du c++ donc si ton fichier est un .c ça va pas marcher, il faut un .cpp

mardi 8 février 2005 à 18:38:16 | Re : programme de debutant

MoveX

merci de me tenir par la main, cest bien de la que venait le probleme !


1 2

Cette discussion est classé dans : programme, long, code, int, debutant


Répondre à ce message

Sujets en rapport avec ce message

Aide pour mega debutant [ par C++ ] Salut, bon alors je vien d ouvrir c++ mais comment mettre un code sur un boutton ???par exemple ce code comment je doits le mettre sur un bouton :int Deboguer un code [ par ptit programeur ] bonjours je voudrais savoir pourquoi ce code est faux#include #include using namespace std; int main(int argc, char *argv[]){  long triple (long analyseur code pour dépassement mémoire [ par adrienj ] Bonjour à tous,j'utilise Splint pour analyser mon code C et je souhaite que le résultat de l'analyse me dise les failles de gestion mémoire du genre ( Structure avec un fichier [ par orangepulpe57 ] Bonjour,Je doit réaliser pour la fac un programme qui convertit le code morse en caractère. Le code morse est inscrit sur un fichier txt comme suit:A Algo utile ou complètement "bidon"?? [ par ninjagtr ] Bonjour,Je suis tombé sur un bout de code et je ne sais pas s'il a une utilité (autre que de me faire chercher lol).Voici le code : int Devinez(int x) probleme création d'une clé de registre [ par stefbuet ] Salut, en regardant les sources du site, j'ai réussi à extraire un pti bou de code mais sa ne marche pas completement:en effet, le chemin mycompagny/m Une fonction qui ne marche pas..... [ par wizard512 ] Bonjours a tous,et joyeux noel pour ceux qui le fête,j'ai besoin d'un peu d'aide pour une fonction que j'ai cré La condition IF [ par lunnatick ] Bonjour, j'ai essayer de compiler le code source suivant: [code]#include #include int main(int argc, char *argv[]) { long age = 20; if (a Exploiter un source en c en c++ [ par megamaxxxx ] Bonjour, je vous adresse ce post pour vous demander s'il existe un traducteur de code source c en c++. J'ai developpé une application sur un vieil env Classique code : conversion decimale=>binaire [ par darkwhite ] salut à tous,Comme un nombre incalculable de gens je dois faire le desormais classique code : convertir du binaire en decimale. Pour ma part je l'ai e


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.