dans l'article 42f858e5$0$25025$, Xandros à a écrit le 9/08/05 9:19 :
Bonjour,
Je débute en C++ (depuis 1 semaine) et j'ai essayé un petit bout de code
cout << siseof(int);
D'après le livre, sur un processeur 32 Bits ça doit afficher 4, et c'est bon.
Par contre, sur un processeur 64 Bits ça
Peut
Peut = pas certain :-)
afficher le double, mais ça affiche toujour 4.
Sur la plupart des implementations meme 64 bits c'est codé sur 4 octets
Pour 8 octects c'est les long long
Alors, est ce que ça vient du compilateur ? du processeur ?
De personne c'est normal
Jean-Marc Bourguet
Xandros writes:
Bonjour,
Je débute en C++ (depuis 1 semaine) et j'ai essayé un petit bout de code
cout << siseof(int);
D'après le livre, sur un processeur 32 Bits ça doit afficher 4, et c'est bon.
Par contre, sur un processeur 64 Bits ça peut afficher le double, mais ça affiche toujour 4.
Alors, est ce que ça vient du compilateur ? du processeur ?
Du livre. L'explication est incomplete. La taille des entiers est une constante durant la compilation, elle depend donc du processeur cible et du mode dans lequel tu veux le faire fonctionner. La plupart des processeurs 64 bits pouvant en effet fonctionner dans un mode 32 bits et un mode 64 bits. On indique ce mode avec un switch a la compilation (par exemple -xarch=v9 pour avoir le mode 64 bits des processeurs Sparc avec le compilateur de Sun).
Si tu as pris le meme executable, il est normal qu'il t'affiche toujours la meme chose.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
Xandros <vbload@free.fr> writes:
Bonjour,
Je débute en C++ (depuis 1 semaine) et j'ai essayé un petit bout de code
cout << siseof(int);
D'après le livre, sur un processeur 32 Bits ça doit afficher 4, et
c'est bon.
Par contre, sur un processeur 64 Bits ça peut afficher le double,
mais ça affiche toujour 4.
Alors, est ce que ça vient du compilateur ? du processeur ?
Du livre. L'explication est incomplete. La taille des entiers est
une constante durant la compilation, elle depend donc du processeur
cible et du mode dans lequel tu veux le faire fonctionner. La plupart
des processeurs 64 bits pouvant en effet fonctionner dans un mode 32
bits et un mode 64 bits. On indique ce mode avec un switch a la
compilation (par exemple -xarch=v9 pour avoir le mode 64 bits des
processeurs Sparc avec le compilateur de Sun).
Si tu as pris le meme executable, il est normal qu'il t'affiche
toujours la meme chose.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Je débute en C++ (depuis 1 semaine) et j'ai essayé un petit bout de code
cout << siseof(int);
D'après le livre, sur un processeur 32 Bits ça doit afficher 4, et c'est bon.
Par contre, sur un processeur 64 Bits ça peut afficher le double, mais ça affiche toujour 4.
Alors, est ce que ça vient du compilateur ? du processeur ?
Du livre. L'explication est incomplete. La taille des entiers est une constante durant la compilation, elle depend donc du processeur cible et du mode dans lequel tu veux le faire fonctionner. La plupart des processeurs 64 bits pouvant en effet fonctionner dans un mode 32 bits et un mode 64 bits. On indique ce mode avec un switch a la compilation (par exemple -xarch=v9 pour avoir le mode 64 bits des processeurs Sparc avec le compilateur de Sun).
Si tu as pris le meme executable, il est normal qu'il t'affiche toujours la meme chose.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org