Это сильно зависит от вашего компилятора. Некоторые компилируют их как 64-битные на 64-битных машинах, некоторые компилируют их как 32-битные. Встроенные системы представляют собой собственный маленький специальный шарик воска.
Лучшее, что вы можете сделать, чтобы проверить:
printf("%d\n", sizeof(int));
Обратите внимание, что sizeof
будет распечатывать байты. Сделайте sizeof(int)*CHAR_BIT
, чтобы получить биты.
Код для печати количества бит для различных типов:
#include <limits.h>
#include <stdio.h>
int main(void) {
printf("short is %d bits\n", CHAR_BIT * sizeof( short ) );
printf("int is %d bits\n", CHAR_BIT * sizeof( int ) );
printf("long is %d bits\n", CHAR_BIT * sizeof( long ) );
printf("long long is %d bits\n", CHAR_BIT * sizeof(long long) );
return 0;
}