HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: xor, or, and, not, логические операции, исключающее или, бит, битовые операции</p>
1 <p>Теги: xor, or, and, not, логические операции, исключающее или, бит, битовые операции</p>
2 <p>В этой статье мы поговорим о некоторых битовых операциях. Рассмотрим основные из них: XOR (исключающее ИЛИ), AND (И), NOT (НЕ) а также OR (ИЛИ).</p>
2 <p>В этой статье мы поговорим о некоторых битовых операциях. Рассмотрим основные из них: XOR (исключающее ИЛИ), AND (И), NOT (НЕ) а также OR (ИЛИ).</p>
3 <p>Как известно, минимальной единицей измерения информации является<strong>бит</strong>, который хранит одно из 2-х значений: 0 (<strong>False</strong>, ложь) либо 1 (<strong>True</strong>, истина). Таким образом, битовая ячейка может одновременно находиться лишь в одном из двух возможных состояний.</p>
3 <p>Как известно, минимальной единицей измерения информации является<strong>бит</strong>, который хранит одно из 2-х значений: 0 (<strong>False</strong>, ложь) либо 1 (<strong>True</strong>, истина). Таким образом, битовая ячейка может одновременно находиться лишь в одном из двух возможных состояний.</p>
4 <p>Для манипуляций с битами используют определённые операции -<strong>логические или булевые</strong>. Они могут применяться к любому биту, вне зависимости от того, какое у него значение - ноль или единица. Что же, давайте посмотрим на примеры использования трёх основных логических операций.</p>
4 <p>Для манипуляций с битами используют определённые операции -<strong>логические или булевые</strong>. Они могут применяться к любому биту, вне зависимости от того, какое у него значение - ноль или единица. Что же, давайте посмотрим на примеры использования трёх основных логических операций.</p>
5 <h2>Логическая операция AND (и)</h2>
5 <h2>Логическая операция AND (и)</h2>
6 <p><strong>AND</strong>обозначается знаком &amp;.</p>
6 <p><strong>AND</strong>обозначается знаком &amp;.</p>
7 <p>Оператор AND выполняется с 2-мя битами, возьмём, к примеру, a и b. Результат выполнения операции AND равен 1, если a и b равняются 1. В остальных случаях результат равен 0. Например, с помощью AND вы можете узнать, чётное число или нет.</p>
7 <p>Оператор AND выполняется с 2-мя битами, возьмём, к примеру, a и b. Результат выполнения операции AND равен 1, если a и b равняются 1. В остальных случаях результат равен 0. Например, с помощью AND вы можете узнать, чётное число или нет.</p>
8 <p>Посмотрите на таблицу истинности операции AND:</p>
8 <p>Посмотрите на таблицу истинности операции AND:</p>
9 <h2>Логическая операция OR (ИЛИ)</h2>
9 <h2>Логическая операция OR (ИЛИ)</h2>
10 <p>Обозначается знаком |.</p>
10 <p>Обозначается знаком |.</p>
11 <p>Оператор<strong>OR</strong>также выполняется с 2-мя битами (a и b). Результат равен 0, если a и b равны 0, иначе он равен 1. Смотрим таблицу истинности.</p>
11 <p>Оператор<strong>OR</strong>также выполняется с 2-мя битами (a и b). Результат равен 0, если a и b равны 0, иначе он равен 1. Смотрим таблицу истинности.</p>
12 <h2>Логическая операция XOR (исключающее ИЛИ)</h2>
12 <h2>Логическая операция XOR (исключающее ИЛИ)</h2>
13 <p>Оператор XOR обозначается ^.</p>
13 <p>Оператор XOR обозначается ^.</p>
14 <p><strong>XOR</strong>выполняется с 2-мя битами (a и b). Результат выполнения операции XOR (<strong>исключающее ИЛИ</strong>) равен 1, когда один из битов b или a равен 1. В остальных ситуациях результат применения оператора XOR равен 0.</p>
14 <p><strong>XOR</strong>выполняется с 2-мя битами (a и b). Результат выполнения операции XOR (<strong>исключающее ИЛИ</strong>) равен 1, когда один из битов b или a равен 1. В остальных ситуациях результат применения оператора XOR равен 0.</p>
15 <p>Таблица истинности логической операции для XOR (исключающее ИЛИ) выглядит так:</p>
15 <p>Таблица истинности логической операции для XOR (исключающее ИЛИ) выглядит так:</p>
16 <p>Используя XOR (исключающее ИЛИ), вы можете поменять значения 2-х переменных одинакового типа данных, не используя временную переменную. А ещё, посредством XOR можно зашифровать текст, например:</p>
16 <p>Используя XOR (исключающее ИЛИ), вы можете поменять значения 2-х переменных одинакового типа данных, не используя временную переменную. А ещё, посредством XOR можно зашифровать текст, например:</p>
17 String msg = "This is a message"; char[] message = msg.toCharArray(); String key = ".*)"; String encryptedString = new String(); for(int i = 0; i&lt; message.length; i++){ encryptedString += message[i]^key.toCharArray()[i%key.length()]; }<p>Согласен, XOR - далеко не самый надёжный метод шифрования, но это не значит, что его нельзя сделать частью какого-либо шифровального алгоритма.</p>
17 String msg = "This is a message"; char[] message = msg.toCharArray(); String key = ".*)"; String encryptedString = new String(); for(int i = 0; i&lt; message.length; i++){ encryptedString += message[i]^key.toCharArray()[i%key.length()]; }<p>Согласен, XOR - далеко не самый надёжный метод шифрования, но это не значит, что его нельзя сделать частью какого-либо шифровального алгоритма.</p>
18 <h2>Логическая операция NOT (НЕ)</h2>
18 <h2>Логическая операция NOT (НЕ)</h2>
19 <p>Это побитовое отрицание, поэтому выполняется с одним битом и обозначается ~.</p>
19 <p>Это побитовое отрицание, поэтому выполняется с одним битом и обозначается ~.</p>
20 <p>Результат зависит от состояния бита. Если он в нулевом состоянии, то итог операции - единица и наоборот. Всё предельно просто.</p>
20 <p>Результат зависит от состояния бита. Если он в нулевом состоянии, то итог операции - единица и наоборот. Всё предельно просто.</p>
21 <p>Эти 4 логические операции следует запомнить в первую очередь, т. к. с их помощью можно получить практически любой возможный результат. Также существуют такие операции, как &lt;&lt; (побитовый сдвиг влево) и &gt;&gt; (побитовый сдвиг вправо).</p>
21 <p>Эти 4 логические операции следует запомнить в первую очередь, т. к. с их помощью можно получить практически любой возможный результат. Также существуют такие операции, как &lt;&lt; (побитовый сдвиг влево) и &gt;&gt; (побитовый сдвиг вправо).</p>
22  
22