41 votes

int_least64_t contre int_fast64_t contre int64_t

J'essaie de porter mon code en 64 bits.

J'ai trouvé que C++ fournit des types entiers 64 bits, mais je suis toujours confus à ce sujet.

Tout d'abord, j'ai trouvé quatre int 64 bits différents :

 int_least64_t
int_fast64_t
int64_t
intmax_t

et leurs homologues non signés. Je les ai testés en utilisant sizeof() et ils font 8 octets donc ils font 64 bits.

Quelle est la différence entre eux ? Quelle est la signification des types least et fast Et intmax_t ?

15voto

Mike Seymour Points 130519

int64_t a exactement 64 bits. Il peut ne pas être défini pour toutes les plates-formes.

int_least64_t est le plus petit type avec au moins 64 bits.

int_fast64_t est le type le plus rapide à traiter, avec au moins 64 bits.

Sur un processeur 32 ou 64 bits, ils seront tous définis, et auront tous 64 bits. Sur un hypothétique processeur 73 bits, int64_t ne sera pas défini (puisqu'il n'y a pas de type avec exactement 64 bits), et les autres auront 73 bits.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X