Другие языки программирования и технологии

Для чего придумали тип boolean, если переменная этого типа всё равно будет занимать в памяти 1 байт?

В каком языке? В C++ тип bool, и хотя он приводится к целым типам, придуман он а) для ясности программ, так как принимает значения true и false б) байт он занимает или нет, зависит от реализации, да и внутри нее может быть по-разному. Например, в булевском векторе vector <bool> каждое булевское значение занимает один бит, а не байт.
P.S. В булевском векторе каждый бит - отдельное булевское значение, в байте помещается восемь элементов вектора. Извлекать и записывать каждое булевское значение поэтому дольше (приходится использовать дополнительно сдвиги или битовые маски, это компилятор делает самостоятельно) , а память экономится. А с отдельными булевскими значениями разработчики компиляторов обычно решают каждое булевское значение держать в отдельном байте - операции тогда выполняются быстрее, а память экономится. Так что в C++ фактически можно выбирать, хранить булевские значения с быстрым доступом, но неэкономно, или с более медленным доступом, но экономно. Для отдельных булевских переменных экономить на памяти точно нет смысла, а вот много их можно объявить как массив однобайтовых или вектор однобитовых.
Жанболат Алекеев
Жанболат Алекеев
80 512
Лучший ответ


поржал от души
а затем что в си например правда это ноль а в какой нибудь яве ноль это лож поэтому bool всегда понятно кажет либо tru либо false
МШ
Марат Шишков
59 848
Чувак ты перезанимался? Ты перед тем как спросить зачем его придумали, узнать чё это. Тип булиан имеет два значения - true или false. Идеально подходит для условий которые в результате имею логическое "Да" или "Нет". Теперь вопрос - нафиг придумали тип булиан. . ОТвет по-еврейски - нахер ты на вопросы отвечаешь "Да" или "Нет", когда можешь отвечать "нолик", "еденичка"
Ил
Илья
4 603