tariel.ge › Полезное: бесплатные книги › Логические элементы: от электроники до…Бесплатно · автор Тариел Бежанидзе
← Учебник по логическим элементам ЛИСТ 15БЛОК 4 — ЛОГИКА В ПРОГРАММИРОВАНИИРЕВ. 1
Глава 15 · Логика в программировании

Булевы значения в коде: true/false

Прямой мост от блоков 1–3: та же самая логика теперь существует не как напряжение в проводе, а как чистое значение в памяти — без единого вольта, но с той же самой сутью.

Булев тип данных — прямое соответствие таблицам истинности

True (истина) и false (ложь) — два возможных значения булева типа, напрямую соответствующие 1 и 0 из таблиц истинности блока 1 (глава 02). Разница лишь в том, что здесь это абстрактное значение переменной, а не физическое напряжение на выводе микросхемы.

Как булевы значения выглядят в разных языках

ЯзыкЗапись
PythonTrue / False (с заглавной буквы)
JavaScript, Java, C#true / false (со строчной)
PHPtrue / false (регистр не имеет значения)
Cисторически отдельного булева типа не было — использовалось целое число (0 = ложь, любое ненулевое = истина); современный стандарт добавил тип bool через заголовочный файл stdbool.h

Truthy и falsy — важный практический нюанс

Не только явные true/false работают в условиях

Многие языки допускают использование значений, формально не являющихся булевыми, прямо в условии if — они автоматически интерпретируются как истина или ложь. Типичные "ложные" (falsy) значения: 0, пустая строка "", null/None, пустой список/массив, undefined. Всё остальное обычно интерпретируется как "истинное" (truthy). Это удобно на практике, но часто путает начинающих, ожидающих строго только true/false в условии.

Практический пример

Python

if имя_списка: — сработает как истина, если список не пуст, и как ложь, если список пустой, без явного сравнения его длины с нулём.

JavaScript

if (имя_переменной) — сработает как ложь, если переменная равна 0, пустой строке, null, undefined или NaN, и как истина практически для всех остальных значений, включая пустой объект {} (в отличие от пустого массива в некоторых других языках — здесь стоит быть внимательным к конкретным правилам именно JavaScript).

Возвращение к аппаратной реальности

На самом низком аппаратном уровне (блоки 2–3 этой книги) истина и ложь — это буквально высокий и низкий уровень напряжения. Булев тип данных в коде — абстракция, надстроенная поверх этой физической реальности языком программирования и операционной системой, но сама концепция полностью идентична — только форма представления меняется от вольт к абстрактному значению переменной.

Что дальше

Следующая глава — логические операторы AND/OR/NOT в реальном коде разных языков: та же логика из блока 1, но уже в виде конкретного синтаксиса, который реально пишешь каждый день.

Глава15 — Булевы значения в коде
Блок4 — Логика в программировании
Далее16 — Логические операторы в разных языках
СтатусГотово · рев. 1
Предыдущая глава ← 14 · Мультиплексоры и декодеры Следующая глава 16 · Логические операторы в разных языках →

Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.