Lorsque l'on travaille avec des représentations binaires des entiers on peut calculer la portée maximale du type de données signées sur la base du nombre de bits utilisés pour représenter les données en utilisant la formule:
valeur la plus basse: -2^(N-1) valeur la plus élevée: 2^(N-1) - 1
où N est le nombre de bits.
Pour une raison ou pour une autre, le type "signed int" dont vous parlez est représenté par 16 bits, et le "signed long" est représenté par 32 bits. Notez également que les plages que vous avez indiquées semblent incomplètes, notez que la plage d'un entier signé 16 bits descend à -32768, soit une valeur inférieure à votre plage affichée.
@ n00b8688: vous vouliez dire -32768 à 32767 et -2147483648 à 2147483647? – SyntaxT3rr0r
Je voulais dire l'int signé -2 147 483 648 à 2 147 483 647 sur msdn. – n00b8688