Двоичная и булева логика
Introduced| English | Русский |
|---|---|
| Boolean algebra/ˈbuːlɪən ˈældʒɪbrə/ | Булева алгебра |
| bit/bɪt/ | бит |
| binary arithmetic/ˈbaɪnəri əˈrɪθmətɪk/ | двоичная арифметика |
| byte/baɪt/ | байт |
| truth table/truːθ ˈteɪbl/ | таблица истинности |
| logic gate/ˈlɒdʒɪk ɡeɪt/ | логический вентиль |
| logic circuit/ˈlɒdʒɪk ˈsɜːkɪt/ | логическая схема |
Правило двух значений может иметь несколько входов
- Булева алгебра оперирует истиной и ложью с операциями, такими как AND (И), inclusive OR (включающее ИЛИ) и NOT (НЕ).
- Процессор может реализовывать арифметику с помощью цифровой логики. Абстрактное булево рассуждение анализирует заявленное правило входа/выхода, а не доказывает каждую деталь реального компьютера.
Отделяйте побитовую арифметику от логических значений
- Двоичная арифметика переносится при значении 2: двоичное $1+1=10$. Бит — это одна двоичная цифра, а байт состоит из восьми бит.
- Битовая последовательность может кодировать беззнаковое значение, знаковое значение или другую информацию. Укажите ширину и интерпретацию перед тем, как называть его значением 255 или инвертировать.
В двоичной системе, чему равно 1 + 1?
Нет цифры для двух, поэтому происходит перенос — то же правило, что и 9 + 1 в десятичной системе.
Оценивайте каждое логическое выражение
- Таблица истинности для n произвольных булевых входов содержит $2^n$ строк. Включайте промежуточные выражения, чтобы сделать группировку видимой.
- Идентичные выходы во всех строках доказывают эквивалентность двух выражений для данных булевых входов. Это не устанавливает временные характеристики схемы, безопасность аутентификации или физическую надежность.
Поменяйте входы местами и посмотрите на выход
AND истинно только когда оба истинны; OR ложно только когда оба ложны.
Сколько строк в таблице истинности с тремя входами?
2³ = 8. Каждый вход удваивает количество комбинаций.
Две булевы функции имеют идентичные таблицы истинности. Что из этого следует?
Соответствие каждой строки над одними и теми же булевыми входами доказывает абстрактную булеву эквивалентность. Оно не устанавливает физическое время задержки или безопасность реальных систем.
Полная таблица для двух входов. В порядке строк 00, 01, 10, 11: AND выдает 0, 0, 0, 1; включение OR (inclusive OR) выдает 0, 1, 1, 1; NOT A выдает 1, 1, 0, 0. Одной совпадающей строки недостаточно для доказательства эквивалентности двух выражений.
"A И B" истинно ровно на одной строке своей таблицы истинности.
Только на строке, где оба входа равны 1. Эта единственная строка и есть всё определение.
Отслеживайте связи через цепочку
- Логические вентили реализуют заданную операцию. Логическая схема соединяет эти операции, где выходы питают последующие входы.
- Стройте промежуточные столбцы в соответствии с этим порядком зависимостей. Закон де Моргана может переписать НЕ (AND) как OR отрицательных входов, но необходимо инвертировать оба входа.
Упрощайте и проверяйте отдельно. $(A\land B)\lor(A\land\neg B)=A$ по дистрибутивности и $B\lor\neg B$ как истина. Лист 4.3 проверяет все четыре строки и отдельно тестирует побитовые операции фиксированной ширины.
В логике, когда «A ИЛИ B» ложно?
Инклюзивное ИЛИ истинно, если хотя бы один вход истинен. Оба входа истинны дают истину; этот вопрос явно использует инклюзивное ИЛИ.
Включение OR истинно, когда оба входа истинны. Побитовое НЕ инвертирует только указанные позиции: четырехбитное НЕ числа 1100 дает 0011, беззнаковое 3, а не неопределенное знаковое или бесконечноширокое значение.