С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
#1

xor, not - C++

22.05.2012, 23:27. Просмотров 1417. Ответов 4
Метки нет (Все метки)

кто может помочь с операциями ^(xor) и -(not). если можно навести примеры с реальными числами что они делают, например 2^3 или что-то вроде. Или киньте ссылку на ресурс где данное можно Доступно прочесть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 23:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос xor, not (C++):

XOR without XOR - C++
Здравствуйте, уважаемые знатоки) В общем-то интересует (как можно воплотить подобную штуку) --------- By knowing that XOR may be...

XOR пароля - C++
подскажите где ошибка? когда пишу правильный пароль, в if при сравнении пароли одинаковые но все равно выводит: "cout <<"Error " <<...

XOR шифрование - C++
Здравствуйте. Не хотел создавать ещё тему, но у меня не все гладко прошло с XOR шифрованием, не смотря на то, что там все просто. Не пойму...

XOR шифрование - C++
Задание:Написать программу на выбранном языке программирования, реализующую описанный выше алгоритм для шифрования содержимого текстового ...

быстрый xor - C++
Нужно про-xor-ить биты в числе. Можно ли это сделать быстрее, чем u_char r = 0; for (i = 0; i < sizeof (u_char); ++i) r ^= (n >>...

Xor encrypt - C++
Есть файл зашифрованный с помощью 16 битного ключа только xor. Какие есть предложения для вскрытия шифра?

4
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
22.05.2012, 23:57 #2
Первая же ссылка по запросу xor в гугле...
1
alkagolik
Заблокирован
23.05.2012, 01:23 #3
marik2012, это логические операции. В частности xor это бинарная операция - сложение по модулю 2 http://www.cyberforum.ru/cgi-bin/latex.cgi?x \oplus y
Результат является положительным если операнды различны и отрицательным если операнды эквивалентны. В случае с вычислительной техникой все несколько усложняется, т.к. в роли операнда выступают двоичные векторы. Возьмем тип char (просто потому что самый маленький). char равен одному байту, это 8 бит. В твоем примере 2^3 будет выглядеть так
00000010
xor
00000011
=
00000001
Операция инверсии "~" есть логическое отрицание. т.е. если x = 0, то НЕx = 1. По факту операция инверсии переводит число в обратный код, это делается для арифметики отрицательных чисел, за знак числа в типах отвечает старший бит и если x = 0, то НЕx = -1. Например при x = 7
not 00000111 =
11111000 = -8
И тут надо помнить что инвертированный двоичный код это обратный код и для полной инверсии его надо перевести в дополнительный. Еще надо осознать что в отличие от математики где ноль это пустота, ничего, в вычислительной технике ноль это физически существующая единица, т.е. для его хранения отводится значение из диапазона возможных. В общем тема интересная, я загуглил "машинная арифметика", результатов много.
1
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
24.05.2012, 16:42  [ТС] #4
а еще ж есть операторы & и | можете про них что-сказать..например 2&5 ну и 2|5. Заранее спасибо.
0
alkagolik
Заблокирован
24.05.2012, 16:51 #5
marik2012, "&" логическое И, конъюнкция. Равна 1 только в случае 1&1, в остальных случаях равна нулю
2 & 5 =
00000010
&
00000101
=
00000000 = 0
"|" лигическое ИЛИ, равно нулю только в случае 0 | 0, в остальных случаях равна 1
2 | 5 =
00000010
|
00000101
=
00000111 = 7
Подробно Булева алгебра, алгебра Жегалкина. В программировании их принято обзывать битовыми операциями, хотя в математике эти операции остаются такими же логическими, только в качестве операндов выступают веторы, а не единичные операнды (читай биты).
1
24.05.2012, 16:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2012, 16:51
Привет! Вот еще темы с ответами:

Шифрование Xor'ом - C++
Добрый день, уважаемые) тут такое дело, сел делать курсач и столкнулся с проблемой. Работа по шифрованию бинарными операциями и...

XOR Шифратор - C++
Сделал шифратор на основе XOR’а, но если ввести пробел в сообщении которое надо зашифровать, програма во всю отказывается шифровать, то...

Оператор xor - C++
Всем добрый вечер.Чем отличаются следующие выражения: (a || b) && !(a && b); и (a^b);

оператор XOR - C++
объясните, что делает XOR, желательно понятным простому смертному языком. например: 0 xor 1 = 1 1 xor 1 = 0 0 xor 0 = 0 1 xor...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.