[C, C++] Newbie en C

Newbie en C [C, C++] - C++ - Programmation

Marsh Posté le 22-10-2002 à 13:40:10    

:D
 
Une chtite question qui me trotte dans la tete.
 
Un int, l'intervalle de valeurs va de -32768 a 32767 nan ?
Si je rajoute 1 a 32767, il devrait passer a -32768 ?
 
La je viens de faire un prog de test, j'arrive a foutre 132432432424 dans un int. Y a un truc qui m'echappe la :heink:


---------------
Super.
Reply

Marsh Posté le 22-10-2002 à 13:40:10   

Reply

Marsh Posté le 22-10-2002 à 13:43:19    

normal tu confonds int et short :D

Reply

Marsh Posté le 22-10-2002 à 13:44:54    

en fait tout depend de la machine sur alquelle tu compiles.
Un int fait 2 octets sur un pentium je crois et 4o sur un RS6000 (je crois j'en pas sur du tout).
 
Tout depende de toin compilateur en fait.
 
Renseigne toi pour savoir comment li interprete les int et compagnie.
 
Bref, la portabilite du C, c'est du vent.


---------------
Membre du mouvement [:mossieurpropre] L'un dans l'autre, vaut mieux être l'un !
Reply

Marsh Posté le 22-10-2002 à 13:46:08    

4o sur un pentium :O

Reply

Marsh Posté le 22-10-2002 à 13:48:57    

bon bref je m'en fou en fait c'est pas ca le pb  [:ddr555]  
 
C'est ce pb d'intervalle en fait.
etant donne qu'un unsigned long ca va de 0 a 4.294.967.295 (de tete hein), comment je fais si je veux foutre plus dedans ?
Obligé de chopper un double ?? :??: (j'ai dit une connerie la nan ? :D)
 
chris -> Pour le int et le short effectivement ca depend du systeme (c'est mon bouquin qui me le dit :kaola:)


---------------
Super.
Reply

Marsh Posté le 22-10-2002 à 13:55:39    

oue ca depend mais bon, je sais que tu bosse sous win :D
 
__int64 si tu veuxplus mais je sais pas comment ca marche, si c bien gerer etc etc ( et ca depend tres fortement du compilo)

Reply

Marsh Posté le 22-10-2002 à 13:57:58    

Zet a écrit a écrit :

 
Bref, la portabilite du C, c'est du vent.




utilise des long pour que ca soit portable...

Reply

Marsh Posté le 22-10-2002 à 13:58:35    

en fait c'est pour sauvegarder des donnees dans une base :D
enfin bref, je crois que pour mes progs d'avant j'ai pas trop fait gaffe a ca, d'ailleurs j'utilise pratiquement jamais le unsigned.
Mais bon, ca m'explique toujours pas pkoi j'arrive a fourrer un 13213242324 dans un int :/


---------------
Super.
Reply

Marsh Posté le 22-10-2002 à 13:59:14    

Lolo- a écrit a écrit :

 
utilise des long pour que ca soit portable...




 
change rien, sur 32bits un long c 4octet, sur une machine 64 ca sera 8
 
pour la portabilite le mieux est de redefinir les types de bases

Reply

Marsh Posté le 22-10-2002 à 14:00:06    

Godbout a écrit a écrit :

en fait c'est pour sauvegarder des donnees dans une base :D
enfin bref, je crois que pour mes progs d'avant j'ai pas trop fait gaffe a ca, d'ailleurs j'utilise pratiquement jamais le unsigned.
Mais bon, ca m'explique toujours pas pkoi j'arrive a fourrer un 13213242324 dans un int :/




 
taille max d"un unsigned int : 2 puissance 32
int: -np31 a +2p31

Reply

Marsh Posté le 22-10-2002 à 14:00:06   

Reply

Marsh Posté le 22-10-2002 à 14:00:19    

Godbout a écrit a écrit :

 
Mais bon, ca m'explique toujours pas pkoi j'arrive a fourrer un 13213242324 dans un int :/




 
processeur 32 bits -> int 32 bits (en gros :D) -> -2147483648 à 2147483647


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 22-10-2002 à 14:10:30    

antp a écrit a écrit :

 
 
processeur 32 bits -> int 32 bits (en gros :D) -> -2147483648 à 2147483647




putain il suxx grave mon bouquin alors :lol:


---------------
Super.
Reply

Marsh Posté le 22-10-2002 à 14:16:36    

bah t'as peut-être un bouquin pour la programmation sur 286 [:spamafote]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 22-10-2002 à 14:19:38    

Pourtant ils parlent de prog 32 bits, enfin il doit avoir 8/9 ans le bouquin  [:ddr555]


---------------
Super.
Reply

Marsh Posté le 22-10-2002 à 14:35:42    

antp a écrit a écrit :

 
 
processeur 32 bits -> int 32 bits (en gros :D) -> -2147483648 à 2147483647



Euh...pour moi proc 32 bits -> compilo 16 bits -> int 16 bits -> DTC Antp ;)
donc j'aurais plutôt dit ça :
compilo 16 bits -> int 16 bits
compilo 32 bits -> int 32 bits

Reply

Marsh Posté le 22-10-2002 à 14:37:33    

Godbout a écrit a écrit :

Pourtant ils parlent de prog 32 bits, enfin il doit avoir 8/9 ans le bouquin  [:ddr555]  




 
Sur mon 386 (32 bits) mon compilo borland sortait du code 16 bits.


Message édité par kadreg le 22-10-2002 à 14:37:46

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 22-10-2002 à 14:46:14    

*Syl* a écrit a écrit :

Euh...pour moi proc 32 bits -> compilo 16 bits -> int 16 bits -> DTC Antp ;)
donc j'aurais plutôt dit ça :
compilo 16 bits -> int 16 bits
compilo 32 bits -> int 32 bits




 
ouais c'est ce que j'aurais du dire en effet :p
j'ai supposé un peu trop vite que sur un proc 32 bits on utilisait un compilo 32 bits :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 22-10-2002 à 15:55:02    

vous feriez mieux d'aller faire un tour dans limits.h au lieu de balancer des chiffres


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 22-10-2002 à 15:59:06    

Taz@PPC a écrit a écrit :

vous feriez mieux d'aller faire un tour dans limits.h au lieu de balancer des chiffres




 
utilise les chaines de caracteres si tu ve pas faire de calcul avec...

Reply

Marsh Posté le 22-10-2002 à 17:56:07    

Tu confonds peut-être avec VB  :
 
Un int en VB = un short en C, un long en VB = un int en C.

Reply

Marsh Posté le 22-10-2002 à 18:47:32    

leneuf22 a écrit a écrit :

Tu confonds peut-être avec VB  :
 
Un int en VB = un short en C, un long en VB = un int en C.




 
n'importe quoi! la capacité d'un entier en C n'est fixée que par l'implémentation


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 22-10-2002 à 21:38:15    

Taz@PPC a écrit a écrit :

 
 
n'importe quoi! la capacité d'un entier en C n'est fixée que par l'implémentation




 
je suppose qu'il parlait en general. (compilo 32bits sous x86).... pas la peine de toujours s'enflammer comme ca, c usant a la fin, surtout que tu ne fais que repeter ce qui a été dit precedemment

Reply

Marsh Posté le 22-10-2002 à 22:27:45    

chrisbk a écrit a écrit :

 
 
je suppose qu'il parlait en general. (compilo 32bits sous x86).... pas la peine de toujours s'enflammer comme ca, c usant a la fin, surtout que tu ne fais que repeter ce qui a été dit precedemment




 
désolé mais j'ai connu un compilateur DOS ou les int était sur 16bits. et meme sur mon x86, c'etait 16 bits.
 
je dis jsute de regarder dans limits.h par ce que sinon on croit que c'est 32 bits, on base tout dessus et le jour ou l'on change d'architecture (architecture 64bits par exemple), boum, y a plus rien qui marche


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 22-10-2002 à 22:29:49    

Taz@PPC a écrit a écrit :

 
 
désolé mais j'ai connu un compilateur DOS ou les int était sur 16bits. et meme sur mon x86, c'etait 16 bits.




 
DOS = 16 bits (à la base)
x86 = 8 bits (le premier :D)

Reply

Marsh Posté le 23-10-2002 à 01:19:49    

Mais quel chercheur de merde ce antp :D ;)

Reply

Marsh Posté le 24-10-2002 à 03:42:48    

Quand les processeurs 64 bits vont se généraliser, combien de codes sources vont faire la grève ?
 
Java, avec son int de 32 bits fixe aura des airs de VB.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 24-10-2002 à 07:05:36    

Merci antp et Musaran.
 
les autres <<< n'oubliez que le C et le C++ ont été conçus pour etre des langages ultra portables


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed