Изменения

Перейти к: навигация, поиск

Побитовые операции

17 байт убрано, 23:12, 6 марта 2016
Применение для решения задач
*'''''Номер младшего единичного бита'''''
*:Число, полученное в результате операции <tex>x\ \&\ (\sim x + 1)</tex> будет равно номеру младшего единичного бита в числе <tex>x</tex>.
*'''''Работа с битовыми масками<ref>[https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%B0%D1%81%D0%BA%D0%B0]</ref>'''''
*:Храним подмножества множества из <tex>32, 64</tex> или <tex>128</tex> фиксированных элементов. Значение каждого бита позволяет понять, включен элемент в множество или нет. Тогда легко сделать следующее: найти дополнение <tex>(\sim mask)</tex>, пересечение <tex>(mask_1\ \&\ mask_2)</tex>, объединение <tex>(mask_1 \mid mask_2)</tex> множеств, установить бит по номеру <tex>(mask \mid (1 \ll x))</tex>, снять бит по номеру <tex>(mask\ \&\ \sim(1 \ll x))</tex>.
*'''''Определение знака числа'''''
'''return''' result ''as'' '''string'''
</code>
*'''''[[Алгоритм Флойда#Оптимизация с помощью битовых масок | Алгоритм Флойда]]'''''
*:Оптимизация с помощью битовых масок.
*'''''[[Дерево Фенвика]]'''''
276
правок

Навигация