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

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

Войти
Регистрация
Восстановить пароль
 
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
#1

а так ли нужен этот ваш xor ? - C++

19.09.2013, 01:08. Просмотров 607. Ответов 15
Метки нет (Все метки)

вот , встал вопрос (читаю шилдта , 3 издание) : а так ли нужен этот ваш xor ? шилдт пишет , что в С++ отсутствует функция xor (исключающая ИЛИ) , но ее можно создать собственными руками из стандартных функций
C++
1
not and or
меня немного смущает практическая сторона вопроса: а где , на практике , приходится применять xor ? чем он полезен ? как бэ , мне интересно знать полезность данной функции . в чем ее преимущество ?
вот , быдлокода накидал для понимания , но пока не вижу пользы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#define sys_ system
#define ok return
#define display std::cout
#define eol std::endl
bool myFunc(bool a, bool b)
{
    ok (a or b) and not(a and b);
}
int main()
{
    int a,b;
    display << "input a: ";
    std::cin >> a;
    display << "input b: ";
    std::cin >> b;
    display << "a and b: " << (a and b) << eol;
    display << "a or b: " << (a or b) << eol;
    display << "not a: " << (not(a)) << eol;
    display << "not b: " << (not(b)) << eol;
    display << "a xor b: " << myFunc(a,b) << eol;
    sys_("pause");
    ok 0;
}
может быть , кто-нибудь объяснит полезные свойства xor ? желательно , случаи из реальной жизни , а не с теории или вики . спасибо .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 01:08     а так ли нужен этот ваш xor ?
Посмотрите здесь:

Приветствую всех, нужен Ваш совет - C++
Подскажите пожалуйста, можно ли из .exe программы, написанной на с#, вернуть ее обратно и вытащить из нее код программы?

Добрый вечер. Ребят, нужен ваш совет - C++
Добрый вечер.Ребят,посоветуйте пожалуйста, хочу начать учить C++ по книге &quot;ЯЗЫК ПРОГРАММИРОВАНИЯ C++. БАЗОВЫЙ КУРС&quot; (Издательство:Вильямс;...

Из файла .txt записать в этот массив символы, так же как они записаны в файле - C++
Данн массив слов. Нужно из файла .txt записать в этот массив символы, так же как они записаны в файле Пример файла: abc def ...

Благодаря опережающему объявлению класса можно создать только УКАЗАТЕЛЬ на этот класс; так ли это? - C++
class B; class A{ A(); ~A(); B* b; //А вот так не компилится //B b_0; };

Программа работает не так как заявлено, нужен комментарий. - C++
Привет. Ещё одна проблемка. Списал ещё одну прогу у Дэвиса, продолжаю учить по его книге. Программу дополнил командой удержания панели...

Нужен листинг на С++ (даны два вектора, упорядоченные по возрастанию. Слить их в один вектор, так чтобы сохранилась упорядоченность) - C++
Задание: Даны два вектора {хi}, {уi}, i = 1,..., 10, упорядоченные по возрастанию. Слить их в один вектор {zi}, i = 1, …, 20, так чтобы...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
19.09.2013, 01:35     а так ли нужен этот ваш xor ? #2
меня немного смущает практическая сторона вопроса: а где , на практике , приходится применять xor ? чем он полезен ? как бэ , мне интересно знать полезность данной функции . в чем ее преимущество ?

может быть , кто-нибудь объяснит полезные свойства xor ? желательно , случаи из реальной жизни , а не с теории или вики . спасибо .
Проверка того, что выбрано нечётное количество вариантов? Не знаю... Ваш вопрос читается как "может быть, кто-нибудь объяснит полезные свойства сложения? желательно случаи из реальной жизни, а не с теории, вики или учебника арифметики. спасибо".

Просто логические связки — это настолько утилитарная вещь, что сложно дать как-то не казуистический ответ. Но вообще да, чаще всего условия объединяются исключительно && и ||. Видимо, поэтому для xor и не стали вводить отдельную операцию. Хотя, если учесть, что && и || можно вычислять лениво, в отличие от xor...
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
19.09.2013, 01:38     а так ли нужен этот ваш xor ? #3
Цитата Сообщение от conf Посмотреть сообщение
отсутствует функция xor (исключающая ИЛИ)
В смысле boolean XOR (^^), а не bitwise XOR (^)?

Посмотрите обсуждение здесь: Logical xor operator in c++?
Just_Kawaii
1 / 1 / 0
Регистрация: 26.08.2013
Сообщений: 13
19.09.2013, 01:43     а так ли нужен этот ваш xor ? #4
Почему отсутствует XOR? Кто сказал?

C++
1
2
3
4
if ( a ^ b )
{
c = a+ b;
}
Не знаю, у меня все работает... Если вы только не говорите о bool XOR.
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 01:46  [ТС]     а так ли нужен этот ваш xor ? #5
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Но вообще да, чаще всего условия объединяются исключительно && и ||. Видимо, поэтому для xor и не стали вводить отдельную операцию.
ясно . понятно .
Цитата Сообщение от gazlan Посмотреть сообщение
Посмотрите обсуждение здесь: Logical xor operator in c++?
прочитал .
C++
1
!=
сей ответ набрал 112 баллов .
Цитата Сообщение от gazlan Посмотреть сообщение
В смысле boolean XOR (^^), а не bitwise XOR (^)?
а в чем разница ? (своими словами)

Добавлено через 35 секунд
Цитата Сообщение от Just_Kawaii Посмотреть сообщение
Почему отсутствует XOR? Кто сказал?

C++
1
2
3
4
if ( a ^ b )
{
c = a+ b;
}
Не знаю, у меня все работает... Если вы только не говорите о bool XOR.
именно
Just_Kawaii
19.09.2013, 01:49
  #6

Не по теме:


Вот вам на досуге почитать
http://ru.wikipedia.org/wiki/%D0%9E%...%D0%B8_C%2B%2B

gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
19.09.2013, 01:54     а так ли нужен этот ваш xor ? #7
Цитата Сообщение от conf Посмотреть сообщение
а в чем разница ? (своими словами)
См. мой вопрос (строчкой выше) - в типизации.
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 01:58  [ТС]     а так ли нужен этот ваш xor ? #8
Цитата Сообщение от gazlan Посмотреть сообщение
См. мой вопрос (строчкой выше) - в типизации.
если честно , то топик не о bitwisе-операциях , а о булевых значениях и операторах .
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
19.09.2013, 02:07     а так ли нужен этот ваш xor ? #9
Цитата Сообщение от conf Посмотреть сообщение
то топик не о bitwisе-операциях , а о булевых значениях и операторах
Пройдите по предложенной ссылке - все ответы на ваши вопросы давно уже даны.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 08:26     а так ли нужен этот ваш xor ? #10
А что, есть такие языки где есть bool xor ?
conf
19.09.2013, 15:50  [ТС]
  #11

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
А что, есть такие языки где есть bool xor ?
Pascal
1
if true xor true then false;
Pascal
1
2
3
4
5
6
7
8
9
program logic;
var a,b:boolean;s:string;
begin
writeln('введите 1 a');readln(s);
writeln('введите 1 b');readln(s);
a:=s='1';b:=s='1';
if a xor b then writeln(a,' ',b,' true') else writeln(a,' ',b,' false');
readln;
end.

castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 17:02     а так ли нужен этот ваш xor ? #12
Цитата Сообщение от conf Посмотреть сообщение

Не по теме:


Pascal
1
if true xor true then false;
Pascal
1
2
3
4
5
6
7
8
9
program logic;
var a,b:boolean;s:string;
begin
writeln('введите 1 a');readln(s);
writeln('введите 1 b');readln(s);
a:=s='1';b:=s='1';
if a xor b then writeln(a,' ',b,' true') else writeln(a,' ',b,' false');
readln;
end.

И что? В С++ так тоже можно записать, и это не говорит о том что в С++ есть логический оператор xor.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main() 
{ 
    bool a = true;
    bool b = true;
    std::cout << "a xor b = ";
    if ( a xor b ) {
        std::cout << "true\n";
    } else {
        std::cout << "false\n";
    }
}
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 19:06  [ТС]     а так ли нужен этот ваш xor ? #13
Цитата Сообщение от castaway Посмотреть сообщение
И что?
Вы , молодой человек , сюда зачем пришли ? Спорить ? Или проповедовать новую религию ?
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 19:10     а так ли нужен этот ваш xor ? #14
Цитата Сообщение от conf Посмотреть сообщение
Вы , молодой человек , сюда зачем пришли ? Спорить ? Или проповедовать новую религию ?
Изначально я зашел сюда поинтересоваться, в каких-таких языках присутствует логический оператор XOR (замечу, что именно вам это было интересно).
После чего вы мне написали какую-то "белеберду", после чего я с вами не согласился, и возразил.
Что именно вас не устраивает?
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 19:16  [ТС]     а так ли нужен этот ваш xor ? #15
Цитата Сообщение от castaway Посмотреть сообщение
Изначально я зашел сюда поинтересоваться, в каких-таких языках присутствует логический оператор XOR (замечу, что именно вам это было интересно).
После чего вы мне написали какую-то "белеберду", после чего я с вами не согласился, и возразил.
Что именно вас не устраивает?
Перечитай тему и не набивай посты .
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 19:27     а так ли нужен этот ваш xor ?
Еще ссылки по теме:

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

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

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

Использование функции xor() - C++
Доброго времени суток. Я только начал знакомится с С++ и с программированием в целом. // Эта программа демонстрирует использование...

Xor двоичного числа - C++
Добрый день! Прошу написать простую программу на c++ xor двоичного числа.


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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 19:27     а так ли нужен этот ваш xor ? #16
1. Это не функция.
2. В первом посте нет оператора XOR (^)
3. "а в чем разница ? (своими словами)" - твои слова, еще: "если честно , то топик не о bitwisе-операциях , а о булевых значениях и операторах ."
Yandex
Объявления
19.09.2013, 19:27     а так ли нужен этот ваш xor ?
Ответ Создать тему
Опции темы

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