@Akaero

Где на практике может использоваться XOR?

Всем привет, при решении каких задач в программировании может использоваться
исключающее ИЛИ?
Нашел пример про обмен значений, но он медленнее, чем через третью переменную и пример с простейшим шифрованием.
Хочется более реалистичного примера.
  • Вопрос задан
  • 305 просмотров
Решения вопроса 4
@D3lphi
Исключающее или активно применяется в шифровании данных. Так же, с его помощью можно создавать надежные хранилища (RAID 5) данных, в которых при выходе из строя одного хранилище данные сохранятся. Сделать это позволяет то, что у операции xor есть свойство: зная один операнд и результат мы можем однозначно определить второй операнд.
Что касается задач - с ходу в голову приходит задача по определению непарного элемента в массиве.
Ответ написан
15432
@15432
Системный программист ^_^
Самое частое использование - сравнение! Да, в некоторых архитектурах микроконтроллеров нет команды "сравнить с числом" и компилятор все операции сравнения разворачивает в несколько, например:
- xor с числом (xor A, #7)
- прыжок, если в результате ноль (jz)
Ответ написан
LaRN
@LaRN
Senior Developer
Эта операция применялась в компьютерной графике. Смысл такой:если через xor напечатать спрайт на фон, то потом чтобы этот спрайт удалить достаточно ещё раз его напечатать на тоже место через xor. При этом фон, который был под картинкой восстанавливается. Этот способ применялся в основном для черно-белой графики и на слабых системах, т.к. позволял сильно экономить ресур процессора, за счёт того, что не нужно было перерисовывать весь экран, а только места где были изменения.
Ответ написан
@GreenElephant
С помощью XOR можно переключать битовые флаги, например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы