Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2019, 05:58   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Оператор XOR

Впервые за 7 лет практики мне потребовался оператор XOR ...

Почему он отсутствует в JavaScript ??

UPD

В прочем, я обошёлся без его логики, потому что мне нужна была не вся таблица истинности.
Код:
if (var1==null XOR var2==null)
{
	// последовательная выгрузка данных
} else
{
	// формирование дерева данных
}
Этот же код без XOR
Код:
if (var1!=null && var2!=null)
{
	// формирование дерева данных
} else
{
	// последовательная выгрузка данных
}
И всё же вопрос: почему нет этого оператора ?
Это был бы изящный пример практического применения
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 12.12.2019 в 06:13.
OmegaBerkut вне форума Ответить с цитированием
Старый 12.12.2019, 08:54   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

А вам точно XOR нужен?
У вас вариант AND не совсем то, что с XOR -что будет если обе переменные будут null?
waleri вне форума Ответить с цитированием
Старый 12.12.2019, 09:59   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Видимо, потому что на практике он очень редко нужен. А в тех редких случаях, когда он действительно нужен, его можно заменить существующими операторами.
Arigato вне форума Ответить с цитированием
Старый 12.12.2019, 13:47   #4
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
И всё же вопрос: почему нет этого оператора ?
Потому что, видимо, кое-кто из программистов не догадался, как это называется по-русски для простых логических переменных. Подсказка: обозначается "!=".
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 12.12.2019 в 15:15.
MihalNik вне форума Ответить с цитированием
Старый 12.12.2019, 17:13   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

"XOR" - это "!=" ? Всегда думал, что x XOR y = (x & !y) | (!x & y) .
Да-с. Виноват-с. Заботы, вино, экология... Спутал != (ЛП5) c !&(ЛА3)
Пора завязывать. Кот заболел, но форум в этом не виноват.
Вадим, я всё понял и без диаграмм - это заскок в связи с эмоциональной перегрузкой.

Последний раз редактировалось digitalis; 12.12.2019 в 18:41.
digitalis вне форума Ответить с цитированием
Старый 12.12.2019, 17:49   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от MihalNik Посмотреть сообщение
Потому что
Но в Pascal он есть.
Arigato вне форума Ответить с цитированием
Старый 12.12.2019, 18:19   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
"XOR" - это "!=" ? Всегда думал, что x XOR y = (x & !y) | (!x & y) .
Так ведь это одно и то же. Функция истинна тогда и только тогда, когда переменные не равны друг другу. Это легко проверить, построив таблицу истинности:


Функция y = (x & !y) | (!x & y) даже при построении полинома Жегалкина даёт сумму по модулю два, он же XOR
Вадим Мошев вне форума Ответить с цитированием
Старый 12.12.2019, 18:48   #8
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Но в Pascal он есть.
Очень странная отсылка. Java содрана с Оберона, а не Паскаля, там этого мусора уже не было. Если точнее, нужно смотреть в каком году это выпилили из линейки.
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 12.12.2019 в 19:27.
MihalNik вне форума Ответить с цитированием
Старый 12.12.2019, 19:08   #9
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от MihalNik Посмотреть сообщение
Очень странная отсылка. Java содрана с Оберона
Но здесь Javascript. Хотя, да, синтаксис был позаимствован у Java. И, кстати, в JS оператор XOR есть, но только побитовый. Обозначается ^
Вадим Мошев вне форума Ответить с цитированием
Старый 12.12.2019, 19:30   #10
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
И, кстати, в JS оператор XOR есть, но только побитовый. Обозначается ^
Оно есть и в Java.
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 12.12.2019 в 19:34.
MihalNik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условный оператор,оператор цикла и массив Klark73 Microsoft Office Excel 1 19.12.2011 17:09
Оператор выбора или условный оператор[Перенесено из JavaSE] merhaba1992 Помощь студентам 1 20.01.2011 17:06
Условный оператор. Оператор выбора. Pascal Сержuk Помощь студентам 4 17.11.2010 12:50
Вычислить используя, оператор цикла for и оператор безусловного пе Knubbe Помощь студентам 1 18.12.2009 10:24