Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/394: Рейтинг темы: голосов - 394, средняя оценка - 4.93
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096

Как работает функция XOR и что она делает?

05.11.2009, 19:05. Показов 78989. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как работает функция XOR и что она делает?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2009, 19:05
Ответы с готовыми решениями:

Рекурсивная функция, что она делает?
int unknown(int*a, int b){ if (b == 0) return a; if (b % 2) return unknown(a, b - 1); return a + unknown(a, b - 2); } ...

WorksheetFunction - что за функция в VBA, что она делает
WorksheetFunction - что за функция в VBA, что она делает ?

Как работает и что делает функция
Может кто-нить объяснить для чайников что ьделает и как работает функция <? function getGrdTp($typecd){ switch ($typecd){ case 1:...

21
28 / 28 / 7
Регистрация: 03.10.2009
Сообщений: 122
05.11.2009, 19:30
для таких случаев есть всезнающий гугл..
это прибавление по модулю 2, выполняет те же функции, что и OR, но если значения аргументов ="1", то функция будет принимать значение 0
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
 Аватар для TAVulator
4191 / 1292 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
05.11.2009, 19:35
Цитата Сообщение от flambo Посмотреть сообщение
это прибавление по модулю 2
это как?

я всегда считал, что xor - это исключающее ИЛИ. Т.е. не может быть два одновременно - или первый или второй.
0
 Аватар для AloneHere
7 / 6 / 5
Регистрация: 18.11.2008
Сообщений: 43
05.11.2009, 19:49
xor = (not or)
0 xor 0 = 1
0 --- 1 = 0
1 --- 0 = 0
1 --- 1 = 0
0
28 / 28 / 7
Регистрация: 03.10.2009
Сообщений: 122
05.11.2009, 20:29
это таблица для или-нет
Цитата Сообщение от AloneHere Посмотреть сообщение
xor = (not or)
0 xor 0 = 1
0 --- 1 = 0
1 --- 0 = 0
1 --- 1 = 0
таблица истинности для xor будет выглядеть вот так:
0 xor 0 = 0
0 --- 1 = 1
1 --- 0 = 1
1 --- 1 = 0
4
 Аватар для AloneHere
7 / 6 / 5
Регистрация: 18.11.2008
Сообщений: 43
06.11.2009, 15:09
А точно. Мне почему-то пришло в голову not-or.
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
06.11.2009, 18:20
Цитата Сообщение от TAVulator Посмотреть сообщение
это как?
(a + b) mod 2, в общем-то, это то же самое и есть.
0
 Аватар для ПавелИтель
9 / 9 / 3
Регистрация: 21.02.2010
Сообщений: 75
07.06.2010, 17:48
Лучший ответ Сообщение было отмечено как решение

Решение

Прочел ваши постики и понял, что ничего не понял…
Давайте по порядку.
XOR – одна из логических функций Булевой алгебры.
Называют эту функцию по разному: XOR, Сложение по модулю 2, исключающему ИЛИ.
Таблица истинности для XORа выглядит так:
x y XOR
1 1 0
0 1 1
1 0 1
0 0 0
А правило по которому определяется результат примерно звучит так:
XOR равен 1, когда переменные имеют разные значения, и равен 0, когда переменные имеют одинаковые значения.
8
orton12
10.06.2013, 20:48
Уникальным свойством функции XOR является то что если (a XOR b) = c то (c XOR b) = a, ('b' называют ключом). Кроме того 'c' никогда не выходит "за рамки" множеств для a и b, упрощенно говоря '(байт XOR байт)= байт', '(символ XOR символ) = символ'. Функция используется в алгоритмах шифрования, архивирования.
Кроме того математически на ней одной можно построить булеву алгебру, аналогичную алгебре на (AND, OR, NOT).
0 / 0 / 0
Регистрация: 24.07.2016
Сообщений: 18
22.11.2017, 12:00
А возможно ли использование XOR для массивов? (не для отдельного элемента, а массива в целом)
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
22.11.2017, 12:10
Цитата Сообщение от Argentum123 Посмотреть сообщение
XOR для массивов? (не для отдельного элемента, а массива в целом)
нет
0
1 / 1 / 0
Регистрация: 22.07.2019
Сообщений: 39
22.07.2019, 17:16
Не могу понять логику работы XOR. Гугл не помог разобраться что к чему (( Кто может популярно объяснить плиз?
Например 8 ^ 64 = 72. Как и почему??
Если руководствоваться логикой из википедии (перевод в двоичную систему):
8 это_____ 1000
64 это____ 1000000
получается 0000111 (а это 7, а не 72...)
а 72 это___ 1001000 ....

Добавлено через 36 минут
Всем спасибо. Сам разобрался. Если кому то пригодится:
число 8 меньше 64 в двоичном выражении получается.
1000(8) < 1000 000(64)
а значит чтобы их сравнять перед 1000 добавляем нули
0001000
1000000
1001000 - вот и получилось 72!
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
22.07.2019, 17:18
Цитата Сообщение от Ivan_CS Посмотреть сообщение
8 это_____ 1000
не совсем.
это 00001000

теперь делаем XOR (1 ^ 0 = 1; 0 ^ 1=1; 0^0=0; 1^1=0):
Code
1
2
3
4
00001000
01000000
----------
01001000
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
22.07.2019, 17:18
Вы забыли выровнять до байта:
Code
1
2
3
4
00001000
01000000
-----------
01001000
2
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
22.07.2019, 17:23
Цитата Сообщение от Ivan_CS Посмотреть сообщение
а значит чтобы их сравнять перед 1000 добавляем нули
не надо ничего сравнивать. все числа в компьютере хранятся в двоичном виде. в данном случае числа целые, поэтому они хранятся в типе данных byte, word, integer, longint, int64 и т.д.
и, разумеется, при проведении логической операции операнды должны быть одного размера (в данном случае достаточно байта).
попробуй взять любую другую операцию
например 9 OR 2 сколько будет ?

Добавлено через 42 секунды
Цитата Сообщение от JuriiMW Посмотреть сообщение
Вы забыли выровнять до байта:
ага. верно. заметил сам и успел выровнять до вашего замечания. Но всё равно спасибо!
1
1 / 1 / 0
Регистрация: 22.07.2019
Сообщений: 39
22.07.2019, 17:30
9 or 2 = 11?
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
22.07.2019, 17:46
Цитата Сообщение от Ivan_CS Посмотреть сообщение
9 or 2 = 11?
Точно
а 9 or 3 ?
0
1 / 1 / 0
Регистрация: 22.07.2019
Сообщений: 39
22.07.2019, 17:47
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
а 9 or 3 ?
тоже 11
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
22.07.2019, 18:11
Цитата Сообщение от Ivan_CS Посмотреть сообщение
тоже 11
Точно. Больше вопросов не имею
1
Модератор
10430 / 5718 / 3404
Регистрация: 17.08.2012
Сообщений: 17,394
22.07.2019, 23:42
Просто оставлю это здесь.

Ниже перечисленное верно для двух однобитных чисел.
  • XOR (eXclusive OR), исключающее ИЛИ. Название, кстати глупое, но прижилось. "Исключание" (ну а как его ещё называть при таком названии? ) заключается в том (сорри за тавтологию), что только одна строчка таблицы истинности XOR отличается от таблицы истинности OR: 1 XOR 1 = 0, но 1 OR 1 = 1. Иными словами, бестолковое название XOR указывает на мнемоническое правило получения якобы не запоминающейся таблицы истинности для XOR из якобы всем известной таблицы истинности для OR. Мнемоника, ничего более.
  • Сложение по модулю 2. Числа складываются, и затем от полученной суммы берётся остаток деления на 2. Арифметика, ничего более.
  • Дешифратор несоответствия, неравнозначность, неэквивалентность, неэквиваленция. Если входные значения разные, результат равен 1, иначе равен 0. Логика, ничего более.

То есть,

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
a\,\operatorname{XOR}\,b,\ \ (a\,+\,b)\,\operatorname{MOD}\,2,\ \ a\,\oplus \,b,\ \ a\,\neq \,b,\ \ \bar{a\,\equiv \,b},\ \ \bar{a\,\Leftrightarrow \,b}<br />

- всё это для двух однобитных чисел суть одно и то же.

Для многобитных чисел эта операция производится поразрядно, то есть, отдельно для каждой пары битов, стоящих на одинаковых позициях в каждом числе. Ваш Капитан Очевидность.

XOR обычно применяется для инверсии отдельных бит числа (отдельных двоичных разрядов), а так же для обнуления регистров в ассемблере, поскольку XOR по времени дешевле, чем загрузка константного нуля.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.07.2019, 23:42
Помогаю со студенческими работами здесь

Что делает функция compare в коде и зачем она нужна в qsort
Объясните, пожалуйста, что делает функция compare (17 строка) в данном случае и зачем она нужна в qsort? #include &lt;stdio.h&gt; ...

Что делает функция "mysql_real_escape_string()" и для чего она нужна
Здраствуйте.Может кто нибуть мне помочь с этим вопросом. Что за функция mysql_real_escape_string() ? Заранее благодарю.

Как понять данную строчку? Что она делает? LL=[LL, L];
L=; LL=; Как понять данную строчку? Что она делает? LL=;

go to mark что она делает
go to mark что она делает , это типа аналог continue?

Что делает и как работает конструкция while ... do?
Пожалуйста, простыми понятиями что делает и как работает конструкция while ... do


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru