почему на тип bool в С# выделен 1 байт?

Компьютеры программирование .net С#


Примечание:
для двух true и false по моему много, или как?
Ответы:
Ну экономят они, жалко им четыре выделять, как все люди делают
а вам мало?
1 - true
0- false
может быть лишь один вариант
А по поводу true и false - можно укладывать хоть в один бит. Только подумайте, как тогда должен выглядеть адрес переменной этого типа? Пять тысяч и три четверти? В памяти ячейки в байтах в лучшем случае отсчитываются.
Это не только в C#. Это зависит не от языка, а от архитектуры вычислительных систем. Понятно что для хранения значения true/false достаточно одного бита, но память в компьютерах по одному биту не сегментируется. Минимальный блок адресуемой памяти - 1 байт, поэтому какой бы Вы тип данных не изобрели его размер все равно не будет меньше 1-го байта и он будет кратен 1-му байту.
Ну вообще, могли бы и в 1 бит, т.к. адреса в явном виде в C# не нужны, хотя это тоже решаемо. Например на уровне ВМ использовать аналог bitset, а когда нужен адрес отдельного bool(не знаю зачем) то копировать в однобайтовую ячейку. Другое дело, что мало кому нужно, да и производительность снизилась бы скорее всего.
bool поддерживает true и false.
true = 1
false = 0
1 и 0 вкладываются в 1 байт


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.