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

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

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

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

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

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

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

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

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

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

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

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

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

Просто логические связки — это настолько утилитарная вещь, что сложно дать как-то не казуистический ответ. Но вообще да, чаще всего условия объединяются исключительно && и ||. Видимо, поэтому для xor и не стали вводить отдельную операцию. Хотя, если учесть, что && и || можно вычислять лениво, в отличие от xor...
0
gazlan
3133 / 1909 / 285
Регистрация: 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 / 0
Регистрация: 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
3133 / 1909 / 285
Регистрация: 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
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
19.09.2013, 02:07 #9
Цитата Сообщение от conf Посмотреть сообщение
то топик не о bitwisе-операциях , а о булевых значениях и операторах
Пройдите по предложенной ссылке - все ответы на ваши вопросы давно уже даны.
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 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
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 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
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 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
19.09.2013, 19:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 19:16
Привет! Вот еще темы с ответами:

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

Нужен ваш совет - Апгрейд компьютера
у меня есть компьютер, старенький. Процессор intel dual core 2.0 Ghz. ОЗУ 1 GB. Можно ли установить еще 2 GB ОЗУ на этот компьютер?

Нужен ваш совет - HTML, CSS
Добрый день. Появилась необходимость работы с клиентами не только в офисе, но и через WEB. Пока только начинаю знакомится с...

Нужен ваш совет - VBA
Ребята, помогите мне решить номер, в VBA совсем недавно, не могу решить задание: САМА ЗАДАЧА --- Удалить во всех словах букву «а»,...


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

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

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