#include <stdio.h>
int main(int argc, char *argv[])
{
short int test;
test = 0x10000; //0000 0000 0000 0000
printf("test vaut %d\n", test); //Affiche "test vaut 0" (jusque là rien d'anormal)
test = 0x8000; //1000 0000 0000 0000
printf("test vaut %d\n", test); //Affiche "test vaut -32768" (encore rien d'anormal puisque le premier bit indique un nombre négatif alors que tu dis que c'est faux)
test = 0x8001; //1000 0000 0000 0001
printf("test vaut %d\n", test); //Affiche "test vaut -32767" (le premier bit est donc toujours utilisé pour stocker le signe ...)
//je ne vois pas l'utilité de continuer, on voit bien que le premier bit est utilisé pour stocker le signe ...
return 0;
}