Урок 35 Блоки Операции с битами
Битовые операции, часть 1. Инверсия и сдвиг.
Довольно часто битовую арифметику при обучении программированию обходят стороной, то есть даже если объясняют её правила, то не находят конкретных жизнеспособных примеров использования. В самом деле, если вы пишете драйвер для модема, она может быть нужна, но в обычной программе вряд ли... Или нет? Давайте посмотрим. (Рекомендуется сначала изучить материал про двоичную систему.) Я буду говорить о семействе языков C, JavaScript, Java, PHP и подобных. Также я проверил насчет Питона, и там есть то же самое...
Битовые операции, часть 2. "И".
В предыдущей части мы познакомились с битовыми операциями инверсии и сдвига. Теперь рассмотрим "и". & – "и" В этой операции участвуют два числа. Вместе они дают некий результат. Можно назвать это умножением, но не для всего числа, а для каждого отдельного бита. 1 & 1 это то же, что 1 * 1. Результат 1.
1 & 0 это то же, что 1 * 0. Результат 0.
0 & 1 это то же, что 0 * 1. Результат 0.
0 & 0 это то же, что 0 * 0. Результат 0. Результат 1 возможен только тогда, когда и первая часть выражения, и вторая часть выражения равны 1...