Bonjour à tous,
Voila je me pose une petite question peut etre bête mais bon...
Je précise que je suis un pur débutant en C
Quel est la taille en bit d'une variable de type short int ?
Parce que quand je fais cela, ca me donne 16 bits :
short int maVar = 1;
short int result = sizeof maVar * 8;
printf("%d\n",result) /* Donc resultat = 16 .. */
Bizzarement pourtant, avec ce code :
short int maVar = 1;
maVar <<= 16;
printf("%d\n",maVar) /* >> Résultat = 0 (donc pb) */
Pourtant je devrais obtenir 65535 (2*16).... Mais apparemment je ne peut aller que jusqu'à 14 décalage vers la gauche...
Avec 15 ça passe, mais j'obtiens -32768 (pourquoi le moins ??)
Alors certe je suis pas vraiment un matheu (et je viens tout juste de comprendre la notation binaire : ptet de la que viens le pb d'ailleurs ; ).. mais je vois pas pourquoi je peux pas faire tenir un entier sur 16 bits.
Si qq peut éclairer ma lanterne, ça serait avec plaisir ; )
TutuXoZaure
Partager