int_max dans un environnement 32 bits ou 64 bits

INT_MAX est- INT_MAX différent entre un environnement 32 bits et un environnement 64 bits? Il semble que ce soit le cas, même si j’ai entendu dire que l’environnement 64 bits n’utilise que l’environnement INT_MAX de l’environnement 32 bits.

Cela dépend du système. Sur Intel Linux, ils sont identiques. vérifier les limits.h

Votre question est peut-être trop générique, mais sur un environnement 64 bits typique (x86-64), int est de facto de la même taille que sur 386 (en gardant à l’esprit que cela dépend également du système d’exploitation, pas seulement de l’architecture). Le standard C limite uniquement les limites inférieures (comme décrit sur le wiki ).

Pour certains compilateurs, il existe une différence avec le type long . Autrement dit, long est 32 bits lors de la compilation pour 32 bits et 64 bits sinon, alors que int est 32 bits dans les deux cas.

Mais selon ce que vous voulez, la réponse à votre question peut être d’utiliser int64_t (ou l’équivalent pour votre compilateur, peut-être __int64 ou quelque chose du genre) si vous voulez être sûr d’avoir un int de 64 bits.

Donc, vous devriez clarifier votre question.