Есть разные пути. Большинство сред считают, что short int
s - 16 бит, а long int
s - 32. (long
подразумевается, когда вы объявляете просто int
.) Если вы typedef
свой собственный тип int16, вы будете вероятно, в конечном итоге использовать short int
.
Другая возможность связана с битовыми полями в структурах. Вы можете сказать что-то вроде:
struct x {
int a : 16;
int b : 5;
...
};
И так далее. Если тогда вы определите:
struct x myvar;
myvar.a = 54;
Вы можете быть уверены, что myvar.a будет содержать 16 битов, а myvar.b будет использовать 5; общий размер округления myvar для того, что включают все биты, плюс, конечно, размер любых других полей.