Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Исключающее или в C++ 
V
    Опции темы
Xenon
Дата 3.7.2006, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



Лафорье пишет:
Цитата
Операция "исключающее или" в С++ отсутствует


Я  не понял, это рожденственнская шутка, или какой-то самый последний стандарт C++? 


--------------------
user posted image  
PM MAIL   Вверх
Void
Дата 3.7.2006, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Наверное имеется в виду логическое исключающее или, а не побитовое. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Xenon
Дата 3.7.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



[moderated] 

Это сообщение отредактировал(а) XenonSk - 4.7.2006, 00:47


--------------------
user posted image  
PM MAIL   Вверх
HappyLife
Дата 6.7.2006, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 3
Всего: 8



Чем вам не исключающий или?

bool a;
bool b;

bool c = !(a || b) 
PM MAIL   Вверх
likehood
Дата 6.7.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 8
Всего: 24



может всетаки так: (a || !b) && (!a || b) 
PM MAIL   Вверх
Void
Дата 6.7.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(HappyLife @  6.7.2006,  19:03 Найти цитируемый пост)
bool c = !(a || b)  

Это не исключающее или.
Цитата(baronp @  6.7.2006,  19:09 Найти цитируемый пост)
может всетаки так: (a || !b) && (!a || b)  

Можно еще проще:
a != b
smile 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
likehood
Дата 6.7.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 8
Всего: 24



Цитата(Void @  6.7.2006,  18:30 Найти цитируемый пост)
Можно еще проще:
a != b

только если a и b типа bool 
PM MAIL   Вверх
Ignat
Дата 7.7.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 3
Всего: 73



Цитата(baronp @  6.7.2006,  19:19 Найти цитируемый пост)
только если a и b типа bool 

В противном случае для этого есть побитовый XOR (^) 


--------------------
Теперь при чем :P
PM   Вверх
MoZy
Дата 13.7.2006, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: нет
Всего: 0



Кто поможет. допустим несколько флагов в какую-то ДВОРДу записаны этим поразрядным или. И как теперь проверить, что какой-то флаг в этой переменной записан? 
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Ignat
Дата 14.7.2006, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 3
Всего: 73



Цитата(MoZy @  13.7.2006,  20:17 Найти цитируемый пост)
Кто поможет. допустим несколько флагов в какую-то ДВОРДу записаны этим поразрядным или. И как теперь проверить, что какой-то флаг в этой переменной записан? 



Код
int bitset; //Набор битов (битсет)
int shift; // позиция нужного бита справа
int result; //результат

result = bitset>>shift&1;



PS. Прочитайте, плиз правила форума: один топик - один вопрос! 


--------------------
Теперь при чем :P
PM   Вверх
ZeusAtVingrad
Дата 16.7.2006, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



Цитата(Void @ 3.7.2006,  23:38)
Наверное имеется в виду логическое исключающее или, а не побитовое.

А где есть логическая операция "исключающее или"? 
PM MAIL   Вверх
0x07L
Дата 16.7.2006, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 10.6.2006
Где: Москва

Репутация: нет
Всего: 5



А чем тебе это не подходит?
Цитата(Void @  6.7.2006,  18:30 Найти цитируемый пост)
a != b

 
PM MAIL   Вверх
Void
Дата 16.7.2006, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(ZeusAtVingrad @  16.7.2006,  23:43 Найти цитируемый пост)
А где есть логическая операция "исключающее или"?

Так, навскидку, в виде отдельного оператора/функции видел только в Erlang.
В строготипизированном языке, где в качестве булевского значения может интерпретироваться не абы что, а только определенный тип, операция «не равно» над этим типом и будет исключающим или. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
ZeusAtVingrad
Дата 16.7.2006, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



А... ну надо же smile
Никогда в таком ракурсе оператор неравенства не рассматривал smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1106 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.