Основываясь на некоторых недавних исследованиях, которые я проводил, готовясь к собеседованиям по прошивке:
Наиболее значительное влияние битовой архитектуры процессоров, т. Е. 8-битной, 16-битной, 32-битной, 64-битной, - это то, как вам нужно наиболее эффективно хранить каждый байт информации для наилучшего вычисления переменных за минимальное количество циклов.
Размер в битах вашего процессора говорит вам, какую длину слова процессор может обработать за один цикл. 32-битному компьютеру требуется 2 цикла для обработки 64-битного двойного кода, если он правильно выровнен в памяти. Большинство персональных компьютеров были и остаются 32-битными, поэтому это наиболее вероятная причина типичного сходства компилятора C для 32-битных целых чисел с опциями для больших чисел с плавающей запятой и длинных длинных целых.
Очевидно, что вы можете вычислять переменные большего размера, поэтому в этом смысле битовая архитектура ЦП определяет, как ему придется хранить большие и меньшие переменные для достижения максимально возможной эффективности обработки, но это никоим образом не является ограничивающим фактором в определениях. размеров байтов для ints или char, которые являются частью компиляторов и что продиктовано соглашением или стандартами.
Я нашел этот сайт очень полезным, http://www.geeksforgeeks.org/archives/9705, для объяснения того, как естественная длина слова ЦП влияет на то, как он будет хранить и обрабатывать большие и меньшие типы переменных, особенно в отношении упаковки битов в структуры. Вы должны быть очень осведомлены о том, как вы решили назначать переменные, потому что большие переменные должны быть выровнены в памяти, чтобы они занимали наименьшее количество циклов при делении на длину слова процессора. Это добавит много потенциально ненужного буфера / пустого пространства к таким вещам, как структуры, если вы плохо упорядочите присваивание ваших переменных.