IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Xor, что это значит и как им пользоваться?
сообщение
Сообщение #1


Гость






Что значит xor? blink.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 10)
сообщение
Сообщение #2


Гость






Исключающее ИЛИ: A xor B принимает значение "Истина" тогда, когда значения A и B неодинаковы... Если и A и B одновременно равны True (или одновременно - False), то Xor вернет "Ложь"...

Кстати, очень удобно: если 2 раза произвести Xor с одним и тем же числом, то первое значение будет восстановлено.

B := 39;
B := B xor 12; { b = 43 }
B := B xor 12; { b = 39 }
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Еще xor используют в алгоритмах шифрования..
http://subway.net.ru/diary/20.07.2003/3


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Все правильно, но я подумал, что все словесные объяснения сильно проигрывают перед простой табличкой. Для пользы дела привожу тут три таблички для основных операций. Чтобы сохранить форматирование, пользуюсь тегом CODE
Код

 AND              OR               XOR
  | 0 1            | 0 1            | 0 1
-------          -------          -------
0 | 0 0          0 | 0 1          0 | 0 1
1 | 0 1          1 | 1 1          1 | 1 0


Сообщение отредактировано: lapp -


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


с помощью xor можно делать быстрый swap (обмен значениями двух переменных)
Код

a := a xor b;
b := a xor b;
a := a xor b;


a... b...
1100 1010
0110 1010
0110 1100
1010 1100


и еще много вкусных разностей можно делать с помощью xor.


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Digitalator, я уже говорил, и приводил код, показывающий, что не такой уж он и быстрый ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

Репутация: -  4  +


To: volvo
И ты действительно был прав. Я у себя проверил. Быстрее - только асм-вставка smile.gif


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
И ты действительно был прав. Я у себя проверил. Быстрее - только асм-вставка

обычный обмен с использованием 3 переменной быстрее...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


начинается оффтоп mad.gif wink.gif

М
Согласен правильное решение.
от себя: блин уж и поболтать нельзя smile.gif
Altair



--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


Цитата
Digitalator, я уже говорил, и приводил код, показывающий, что не такой уж он и быстрый

Зависит от компилятора (а они бывают разные ...)

Сообщение отредактировано: Digitalator -


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


вру .... xor выполняется процессором медленнее чем mov blink.gif с чего бы это ...


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 17:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name