Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

Булева алгебра

Все темы C++ Developer

Какие есть битовые операции?

Битовые операции в программировании работают непосредственно с битами данных, предоставляя мощный инструмент для манипуляции на низком уровне. Вот основные битовые операции, которые можно использовать в языках программирования, таких как C и C++:

  1. И (AND) - операция &:

    • Возвращает 1 для бита, если оба соответствующих бита в операндах равны 1, иначе возвращает 0.

    • Пример: 5 & 3 (0101 & 0011) возвращает 1 (0001).

  2. ИЛИ (OR) - операция |:

    • Возвращает 1 для бита, если хотя бы один из соответствующих битов в операндах равен 1.

    • Пример: 5 | 3 (0101 | 0011) возвращает 7 (0111).

  3. Исключающее ИЛИ (XOR) - операция ^:

    • Возвращает 1 для бита, если соответствующие биты в операндах различны.

    • Пример: 5 ^ 3 (0101 ^ 0011) возвращает 6 (0110).

  4. НЕ (NOT) - операция ~:

    • Инвертирует биты операнда; превращает 1 в 0 и наоборот.

    • Пример: ~5 (~0101) возвращает ...1010 (зависит от размера типа).

  5. Сдвиг влево (Left Shift) - операция <<:

    • Сдвигает биты влево на указанное количество позиций, вводя нули справа.

    • Пример: 5 << 1 (0101 << 1) возвращает 10 (1010).

  6. Сдвиг вправо (Right Shift) - операция >>:

    • Сдвигает биты вправо на указанное количество позиций. Поведение зависит от типа данных (знаковый или беззнаковый).

    • Пример: 5 >> 1 (0101 >> 1) возвращает 2 (0010).


Что такое булева алгебра?

Булева алгебра — это раздел математики, который занимается анализом переменных, которые принимают значения истина (true) или ложь (false). Она основана на системе логических операций, включая И (AND), ИЛИ (OR), НЕ (NOT), а также Исключающее ИЛИ (XOR). Булева алгебра широко применяется в информатике, цифровой схемотехнике и логическом программировании для проектирования и анализа логических схем, вычислительных систем и алгоритмов. Она позволяет описывать и упрощать логические выражения и условия.

Эта страница была полезной?