Почему вы сказали «просто» и «тупое»?
Я имею ответы для вас - много ответов. Здесь они являются следующими:
http://webcache.googleusercontent.com/search?q=cache:xv771GQfYxIJ:www.allinterview.com/showanswers/32404.html+C+what+determines+size+of+int&cd=4&hl=en&ct=clnk&gl=usПосле того как читающ ответы, я передам мое мнение…
Но во-первых, для вашего толкования выдержка от варианта ANSI 2-ого языка программирования c K&R:
«int нормальн будет естественным размером для определенной машины. … Каждый составитель свободно выбрать соотвествующий размер для своего собственного оборудования, вопрос только o, котор ограничение которого краткости и ints хотя бы 16 битов, longs хотя бы 32 бита, и коротко не более длиной чем int, который не более длиной чем длиной.»
Мой ответ…
Это будет составителем, не OS, не C.P.U., не памятью, не доской.
Во всяком случае, если вы заботите о размере, то вы никогда не использовать int. Я редк не говорю никогда. Это один случай. Оно ОДОБРЕН для некоторых просто счетчиков для-петли. Вы можете определить ваш собственный архив user_types.h делает typedef для uint32, uint16, uint8, sint32, sint16, и sint8; и если применимо, uint24, uint64, sint24 и sint64. После этого по мере того как вы двигаете от одного обработчика к другим, как раз #if определенное (PROCESSOR_NAME) для того чтобы получить typedef вводить поправку на та платформа. Я не положился бы на 64ых-разрядн типах интежера однако в виду того что не может быть эквивалента в вашем составителе.