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