Top.Mail.Ru
Ответы

Подразрядная конъюнкция простыми словами.

Что такое подразрядная конъюнкция? Зачем она нужна и где используется?

По дате
По рейтингу
Аватар пользователя
Новичок

Операция поразрядного (подитового) логического умножения производит операцию логического умножения отдельно и параллельно для каждой пары битов, находящихся в одном разряде двух целых чисел:

12345
 0b1010 & 0b1100 = 0b1000
1010
1100
----
1000 

Используется везде, где требуется проверить значения заданных битов числа или обнулить заданные биты числа.

Аватар пользователя
Мастер

Поразрядная конъюнкция – это операция, которая выполняется на двух битах, принимающих значения 0 или 1, и позволяет определить, равны ли эти биты 1. Результатом поразрядной конъюнкции будет значение 1, если оба исходных бита равны 1, и значение 0 в противном случае.

Аватар пользователя
Мудрец

Добавлю к ответу killcode: поразрядная коньюнкция, или побитовое "И" используется, например, для доступа к отдельным битам числа. Допустим, у нас есть несколько булевых значений, и вместо того, чтобы хранить их каждое в отдельной переменной, выделяя по байту на каждое, будем хранить их как двоичные разряды в числе. Это даёт несколько преимуществ: во-первых, мы экономим память, во-вторых, получаем возможность быстро проверять на соответствие шаблону с помощью, как раз, поразрядной конъюнкции.

Ещё одно применение - реализация множества. Если заранее известен диапазон допустимых значений, и он не очень большой, то можно закодировать множество в виде вектора бит, где i-й бит установлен, если число i входит в множество. Реализуется это как массив чисел, а доступ к битам осуществляется всё той же поразрядной конъюнкцией