45 votes

Plage de valeurs en C Int et Long 32 - 64 bits

Je suis confus avec la plage de valeurs de la variable Int en C.

Je sais qu'un int non signé 32 bits a une plage de : 0 à 65 535. Si longtemps a 0 à 4 294 967 295

C'est très bien dans une machine 32 bits. Mais maintenant, dans les machines 64 bits, tout reste le même? Ou peut-être que ma capacité int est différente ?

Je comprends ces questions en tant que débutant, mais je suis vraiment confus. Cette signature de méthode n'aide pas non plus. :)

 unsigned long long int atomicAdd(unsigned long long int* address, unsigned long long int val);

70voto

Johannes Schaub - litb Points 256113

En C et C++, vous avez moins d'exigences (c'est-à-dire que les implémentations réelles peuvent avoir des magnitudes plus importantes)

 signed char: -2^07+1 to +2^07-1
short:       -2^15+1 to +2^15-1
int:         -2^15+1 to +2^15-1
long:        -2^31+1 to +2^31-1
long long:   -2^63+1 to +2^63-1

Maintenant, sur des implémentations particulières, vous avez une variété de plages de bits. L' article de Wikipédia décrit bien cela.

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