Битовые операции: различия между версиями

Материал из Algocode wiki
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
===Проверка, что $i$-й элемент в множестве $num$===
 
===Проверка, что $i$-й элемент в множестве $num$===
  
$(num >> i) {&} 1$ вернет 1 тогда и только тогда, когда $i$-й элемент в множестве $num$, так как $(num >> i)$ вернет нам число $num$ со сдвигом на $i$ и следовательно 1 символ будет равен 1, если элемент в множестве.
+
$(num >> i) \& 1$ вернет 1 тогда и только тогда, когда $i$-й элемент в множестве $num$, так как $(num >> i)$ вернет нам число $num$ со сдвигом на $i$ и следовательно 1 символ будет равен 1, если элемент в множестве.
  
 
===Добавить $i$-й элемент в множество $num$===
 
===Добавить $i$-й элемент в множество $num$===

Версия 09:28, 13 декабря 2019

Проверка, что $i$-й элемент в множестве $num$

$(num >> i) \& 1$ вернет 1 тогда и только тогда, когда $i$-й элемент в множестве $num$, так как $(num >> i)$ вернет нам число $num$ со сдвигом на $i$ и следовательно 1 символ будет равен 1, если элемент в множестве.

Добавить $i$-й элемент в множество $num$

$num |= (1 << i)$

{{Автор|Лобанов Глеб|glebodin}