Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
#1

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

19.09.2013, 01:08. Просмотров 660. Ответов 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 ? желательно , случаи из реальной жизни , а не с теории или вики . спасибо .
http://www.cyberforum.ru/cpp-beginners/thread408120.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 01:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос а так ли нужен этот ваш xor ? (C++):

Добрый вечер. Ребят, нужен ваш совет
Добрый вечер.Ребят,посоветуйте пожалуйста, хочу начать учить C++ по книге &quot;ЯЗЫК...

Напишите программу которая запрашивает Ваш рост в футах и дюймах и ваш вес в футах
Напишите программу которая запрашивает Ваш рост в футах и дюймах и ваш вес в...

Из файла .txt записать в этот массив символы, так же как они записаны в файле
Данн массив слов. Нужно из файла .txt записать в этот массив символы, так же...

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

Что тут не так? Подскажите пж! 2 дня сижу и не понимаю как сделать этот чёртов банк!
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; #include...

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

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

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

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

C++
1
2
3
4
if ( a ^ b )
{
c = a+ b;
}
Не знаю, у меня все работает... Если вы только не говорите о bool XOR.
0
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 01:46  [ТС] #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.
именно
0
Just_Kawaii
19.09.2013, 01:49
  #6

Не по теме:


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

1
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
19.09.2013, 01:54 #7
Цитата Сообщение от conf Посмотреть сообщение
а в чем разница ? (своими словами)
См. мой вопрос (строчкой выше) - в типизации.
0
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 01:58  [ТС] #8
Цитата Сообщение от gazlan Посмотреть сообщение
См. мой вопрос (строчкой выше) - в типизации.
если честно , то топик не о bitwisе-операциях , а о булевых значениях и операторах .
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
19.09.2013, 02:07 #9
Цитата Сообщение от conf Посмотреть сообщение
то топик не о bitwisе-операциях , а о булевых значениях и операторах
Пройдите по предложенной ссылке - все ответы на ваши вопросы давно уже даны.
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 08:26 #10
А что, есть такие языки где есть bool xor ?
0
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.

0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 17:02 #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";
    }
}
0
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 19:06  [ТС] #13
Цитата Сообщение от castaway Посмотреть сообщение
И что?
Вы , молодой человек , сюда зачем пришли ? Спорить ? Или проповедовать новую религию ?
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 19:10 #14
Цитата Сообщение от conf Посмотреть сообщение
Вы , молодой человек , сюда зачем пришли ? Спорить ? Или проповедовать новую религию ?
Изначально я зашел сюда поинтересоваться, в каких-таких языках присутствует логический оператор XOR (замечу, что именно вам это было интересно).
После чего вы мне написали какую-то "белеберду", после чего я с вами не согласился, и возразил.
Что именно вас не устраивает?
1
conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
19.09.2013, 19:16  [ТС] #15
Цитата Сообщение от castaway Посмотреть сообщение
Изначально я зашел сюда поинтересоваться, в каких-таких языках присутствует логический оператор XOR (замечу, что именно вам это было интересно).
После чего вы мне написали какую-то "белеберду", после чего я с вами не согласился, и возразил.
Что именно вас не устраивает?
Перечитай тему и не набивай посты .
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 19:27 #16
1. Это не функция.
2. В первом посте нет оператора XOR (^)
3. "а в чем разница ? (своими словами)" - твои слова, еще: "если честно , то топик не о bitwisе-операциях , а о булевых значениях и операторах ."
0
19.09.2013, 19:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 19:27
Привет! Вот еще темы с решениями:

код, который прекрасно выполняет Code::Blocks не выполняеться в Студии, как сделатьь так чтобы Студия воспринимала этот код??
Ребята, обьясните мне чего код, который прекрасно выполняет Code::Blocks не...

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

Исключающее ИЛИ (XOR). Нужен пример операции побайтного XOR
Может кто-нибудь привести пример операции побайтного XOR?что-то вроде: есть...

Найти a^n или xor вычисляется так
Недавно я задумалась :sigh: , как написать код для вычисления логической...


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

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

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