[Перевод] Почему в C int – не означает 32 бита, а байт – не всегда 8 бит
Habr ·
![[Перевод] Почему в C int – не означает 32 бита, а байт – не всегда 8 бит](https://habrastorage.org/getpro/habr/upload_files/634/07b/041/63407b041f6809e155a301f307787673.jpg)
Напишите sizeof(int) , и на современной машине вы почти наверняка получите 4. Логично: int – это 32 бита. Только вот в стандарте C этого нигде не написано. Более того, существовали машины, где int занимал 16 бит, и такие, где 36. Многие считают это главным проколом создателей языка. Но стоит заглянуть в 1970-е, и картина меняется. Давайте вспомним, какие компьютеры тогда были, зачем придумали int и почему это решение дожило до C23. Читать далее
Напишите sizeof(int) , и на современной машине вы почти наверняка получите 4. Логично: int – это 32 бита. Только вот в стандарте C этого нигде не написано. Более того, существовали машины, где int занимал 16 бит, и такие, где 36. Многие считают это главным проколом создателей языка. Но стоит заглянуть в 1970-е, и картина меняется. Давайте вспомним, какие компьютеры тогда были, зачем придумали int и почему это решение дожило до C23. Читать далее