Maison >Problème commun >plage d'entiers de type int
La plage de int est -2147483648 ~ 2147483647.
La méthode de calcul est la suivante :
La plage de variables de type int 32 bits dans l'ordinateur, où le type int est un entier signé.
Les nombres positifs sont représentés dans les ordinateurs sous forme de codes originaux, et le bit le plus élevé est le bit de signe :
Le code original de 1 est 0000 0000 0000 0000 0000 0000 0000 0001
Le code original de 2147483647 Le code est 0111 1111 1111 1111 1111 1111 1111 1111
Donc, le plus grand entier positif est 2147483647
Les nombres négatifs sont représentés comme des compléments dans les ordinateurs, et le bit le plus élevé est le bit de signe :
-1 :
Le code d'origine est 1000 0000 0000 0000 0000 0000 0000 0001, le code inverse de
est 1111 1111 1111 1111 1111 1111 11 1110,
Le complément est 1111 1111 1111 1111 1111 1111 1111 1111
-2147483647 :
le code original est 1111 1111 1111 1111 1111 1111 1111,
le code inversé est 1000 0000 0000 0000 0000 0000 0000 0000, le complément de
est 1000 0000 0000 0000 0000 0000 0000 0001
Donc le plus petit nombre négatif est -2147483647 ? Faux, non.
En binaire, il existe deux méthodes de table pour 0. Le code original de
+0 est 0000 0000 0000 0000 0000 0000 0000 0000, le code original de
-0 est 1000 0000 0000 0000 0000 0000 0000 0000, >
Parce que 0 Un seul est nécessaire, utilisez donc -0 comme plus petit nombre -2147483648. Le complément de -2147483648 est exprimé par 1000 0000 0000 0000 0000 0000 0000 0000, et il n'y a pas de code original en 32 bits. Notez que ce complément n'est pas le vrai complément. Le vrai complément est 1 1000 0000 0000 0000 0000 0000 0000 0000, débordement. Donc, l'entier de type int 32 bits signé est -2147483648~2147483647La programmation peut appeler directement la fonction pour trouver la plage :#include <limits.h> #include<stdio.h> int max = INT_MAX;//最大数 int min = INT_MIN;//最小数 int main(){ printf("max = %d\nmin = %d\n", max, min); return 0; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!