Булев тип данных хранит всего один бит, потому что это позволяет хранить только два значения: 0 (ложь, false) и 1 (истина, true). 1
Однако, несмотря на то, что логически булев тип содержит один бит информации, физически он занимает один байт памяти. 1 Это связано с особенностями архитектуры вычислительной техники. 1
Дело в том, что минимальная адресуемая единица памяти — это байт, а не бит. 12 Процессоры и контроллеры не могут обращаться к отдельным битам напрямую. 1 Вместо этого они работают с байтами или группами байтов. 1
Использование байтов для хранения переменных типа BOOL — компромисс между эффективностью использования памяти, удобством программирования и производительностью системы. 1