Форум программистов, компьютерный форум CyberForum.ru

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

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

xor, not - C++

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

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

C++ Шифрование Xor'ом
C++ оператор XOR
Оператор xor C++
Xor encrypt C++
C++ XOR 32 bit key
Взлом XOR шифра C++
C++ быстрый xor
XOR without XOR C++
XOR пароля C++
C++ XOR шифрование
C++ XOR шифрование
XOR Шифратор C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
22.05.2012, 23:57     xor, not #2
Первая же ссылка по запросу xor в гугле...
alkagolik
Заблокирован
23.05.2012, 01:23     xor, not #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
И тут надо помнить что инвертированный двоичный код это обратный код и для полной инверсии его надо перевести в дополнительный. Еще надо осознать что в отличие от математики где ноль это пустота, ничего, в вычислительной технике ноль это физически существующая единица, т.е. для его хранения отводится значение из диапазона возможных. В общем тема интересная, я загуглил "машинная арифметика", результатов много.
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
24.05.2012, 16:42  [ТС]     xor, not #4
а еще ж есть операторы & и | можете про них что-сказать..например 2&5 ну и 2|5. Заранее спасибо.
alkagolik
Заблокирован
24.05.2012, 16:51     xor, not #5
marik2012, "&" логическое И, конъюнкция. Равна 1 только в случае 1&1, в остальных случаях равна нулю
2 & 5 =
00000010
&
00000101
=
00000000 = 0
"|" лигическое ИЛИ, равно нулю только в случае 0 | 0, в остальных случаях равна 1
2 | 5 =
00000010
|
00000101
=
00000111 = 7
Подробно Булева алгебра, алгебра Жегалкина. В программировании их принято обзывать битовыми операциями, хотя в математике эти операции остаются такими же логическими, только в качестве операндов выступают веторы, а не единичные операнды (читай биты).
Yandex
Объявления
24.05.2012, 16:51     xor, not
Ответ Создать тему
Опции темы

Текущее время: 19:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru