Duplicata possible :
taille d'un int, d'un long, etc.
La taille d'un int dépend-elle du compilateur et/ou du processeur ?
Qu'est-ce qui détermine la taille d'un entier ?
J'utilise un 64-bit
machine.
$ uname -m
x86_64
$ file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
$
Lorsque j'ai exécuté le programme suivant, j'ai obtenu le message suivant sizeof(int)
comme 4-bytes
.
#include <stdio.h>
int main(void)
{
printf("sizeof(int) = %d bytes\n", (int) sizeof(int));
return 0;
}
Si j'exécute un 16-
, 32-
y 64-
de la machine à bits, cela ne veut-il pas dire que la taille d'un integer
es 16-
, 32-
y 64-
respectivement ?
Dans ma machine, j'ai trouvé le WORD_BIT
es 32
. Ne devrait-il pas être 64
sur un 64-bit
machine ?
$ getconf WORD_BIT
32
$
Et, ne faudrait-il pas que le sizeof(int)
être 64-bits
( 8 bytes
) dans le cas ci-dessus ?