Внутренне ЦП может быть подключен для извлечения 32 битов для целого числа, которое преобразуется в 4 8-битных октетов (байтов).Процессор не рассматривает выборку как 4 байта, а скорее 32 бита.
Центральный процессор также внутренне подключен для извлечения 8 битов для символа (байта).Во многих процессорных архитектурах ЦП выбирает 32 бита из памяти и внутренне игнорирует неиспользуемые биты (сохраняя младшие 8 бит).Это упрощает архитектуру процессора, требуя только выборки по 32 бита.
На эффективных платформах память также доступна в 32-битных количествах.Поток данных из памяти в процессор часто называют шиной данных .В этом описании он будет иметь ширину 32 бита .
. Другие архитектуры процессоров могут извлекать 8 бит для символа.Это избавляет процессор от необходимости игнорировать 3 байта из 32-битной выборки.
Некоторые программисты просматривают целые числа по ширине байтов, а не битов.Таким образом, 32-разрядное целое число будет рассматриваться как 4 байта.Это может создать путаницу, особенно с порядком битов, иначе Endianess.Некоторые процессоры имеют первый байт, содержащий старшие значащие биты (Big Endian), в то время как другие имеют первый байт, представляющий младшие значащие биты (Little Endian).Это приводит к проблемам при передаче двоичных данных между платформами.
Зная, что целое число процессора может содержать 4 байта и что оно выбирает 4 байта за раз, многим программистам нравится упаковывать 4 символа в целое число, чтобы повысить производительность.Таким образом, процессору потребуется 1 выборка для 4 символов, а не 4 выборки для 4 символов.Это улучшение производительности может быть потрачено впустую из-за времени выполнения, необходимого для упаковки и распаковки символов из целого числа.
Итак, я настоятельно рекомендую вам забыть о том, сколько байтов составляют целое число и какое-либо отношение к количествусимволы или байты.Эта концепция актуальна только для нескольких встроенных платформ или нескольких высокопроизводительных приложений.Ваша цель - предоставить правильный и надежный код в течение заданного времени.Проблемы производительности и размера находятся в конце проекта, только если кто-то жалуется.Вы преуспеете в своей карьере, если сосредоточитесь на диапазоне и ограничениях целого числа, а не на том, сколько памяти он занимает.