Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

А вот нафига нужен xor?   Найти похожие ветки 

 
Ega23 ©   (2007-03-12 16:39) [0]

в логических выражениях?
В if-е каком-нибудь сложном, или в Select-е...
Не холивар! Просто интересно стало.


 
Чапаев ©   (2007-03-12 16:42) [1]

Проверка истинности только одного условия из двух. В принципе, оператор избыточен в булевом базисе.


 
Игорь Шевченко ©   (2007-03-12 16:43) [2]


> А вот нафига нужен xor?


А типа круто


 
Ega23 ©   (2007-03-12 16:44) [3]


> В принципе, оператор избыточен в булевом базисе.


Да вот я тоже задумался... Ну ладно, с унарными операциями - там всё понятно.
А вот в логических - даже как-то странно...


 
Чапаев ©   (2007-03-12 16:48) [4]

> Ну ладно, с унарными операциями
Э... С битовыми, наверное?


 
pasha_golub ©   (2007-03-12 16:50) [5]


> Ega23 ©   (12.03.07 16:44) [3]

Дык, короче же писать чем

If Condition1 and not Condition2 or not Condition1 and Condition2 then


 
Alx2 ©   (2007-03-12 16:51) [6]

>pasha_golub ©   (12.03.07 16:50) [5]

If Condition1 <> Condition2 then


 
Чапаев ©   (2007-03-12 16:53) [7]

> [5] pasha_golub ©   (12.03.07 16:50)
А скобки расставлять Пушкин будет? ;-) То условие, что ты привёл, всегда истинно.


 
Ega23 ©   (2007-03-12 16:56) [8]


> pasha_golub ©   (12.03.07 16:50) [5]


Вот скажи мне честно: сколько раз тебе такое требовалось на практике?
В теории - это понятно.


 
palva ©   (2007-03-12 16:58) [9]

A - сегодня выходной день
B - я завел будильник

A xor B - жена не ругается.


 
default ©   (2007-03-12 16:58) [10]

дейсвтительно редко используется
ниразу не вспомню даже:)


 
stone ©   (2007-03-12 17:07) [11]

за все время использовал только один раз:
Result := ((ThisTime >= MinTime) and (ThisTime < MaxTime)) xor (StartTime > StopTime);


 
Чапаев ©   (2007-03-12 17:15) [12]

> Вот скажи мне честно: сколько раз тебе такое требовалось
> на практике?
Помнится, пару раз требовалось. Да и то, не требовалось, а позволяло написать кратко...


 
tesseract ©   (2007-03-12 17:17) [13]


> Помнится, пару раз требовалось. Да и то, не требовалось,
>  а позволяло написать кратко...


Гм, я часто пользовался, CRC во всякой аппаратуре его любит.


 
homm ©   (2007-03-12 17:18) [14]

> Сабж
Шифрование?


 
Ega23 ©   (2007-03-12 17:21) [15]


> Гм, я часто пользовался, CRC во всякой аппаратуре его любит.
> Шифрование?


Я не про унарные операции, а про логические.
var
i, j, k : Integer;

k:=i xor j

if (i xor j) then ...


 
pasha_golub ©   (2007-03-12 17:21) [16]


> Чапаев ©   (12.03.07 16:53) [7]


> А скобки расставлять Пушкин будет?

Там без скобок с учетом приоритета. И вроде все верно.


> Ega23 ©   (12.03.07 16:56) [8]


> Вот скажи мне честно: сколько раз тебе такое требовалось
> на практике?

Было как-то...


> Alx2 ©   (12.03.07 16:51) [6]
>
> >pasha_golub ©   (12.03.07 16:50) [5]
>
> If Condition1 <> Condition2 then
>

А если и то, и то False?


 
pasha_golub ©   (2007-03-12 17:22) [17]


> Ega23 ©   (12.03.07 17:21) [15]
>
>
> Я не про унарные операции, а про логические.


Битовые, а не унарные, наверное.


 
Alx2 ©   (2007-03-12 17:40) [18]

>pasha_golub ©   (12.03.07 17:21)

Не понял вопроса. Я имел в виду, что
(a xor b) эквивалентно  (a<>b) для a,b :boolean


 
Чапаев ©   (2007-03-12 18:11) [19]

> Я не про унарные операции, а про логические.
Человече, что в твоём понимании "унарные операции"?

> Там без скобок с учетом приоритета. И вроде все верно.
Чего вдруг? У and и or приоритеты одинаковые, afaik... Хотя щас уточню.


 
Рамиль ©   (2007-03-12 18:14) [20]


> Чего вдруг? У and и or приоритеты одинаковые, afaik... Хотя
> щас уточню.

Ага, как же.

Что там с системой левелапов, я с него хочу пару левелов снять за неправильные советы. %-)
(с) ;)


 
Ketmar ©   (2007-03-12 18:15) [21]

> Чапаев ©   (12.03.07 18:11) [19]
ты чего? or -- это "+", а and -- "*". как же одинаковые-то?


 
Чапаев ©   (2007-03-12 18:16) [22]

Гм... Не, и правда and имеет больший приоритет... Надо ж...


 
Чапаев ©   (2007-03-12 18:18) [23]

> [21] Ketmar ©   (12.03.07 18:15)
Чёрт его знает... В дискретной математике были равны, а в программировании оказались неравны... И всё равно я скобки расставляю в выражениях где только можно...


 
Ketmar ©   (2007-03-12 18:18) [24]

> Чапаев ©   (12.03.07 18:16) [22]
меньше на асме пиши... %-)


 
Ketmar ©   (2007-03-12 18:20) [25]

> Чапаев ©   (12.03.07 18:18) [23]
наверное, в этой неравности есть какой-то сакральный смысл...


 
Чапаев ©   (2007-03-12 18:25) [26]

> [25] Ketmar ©   (12.03.07 18:20)
Нет там никакого смысла... And не имеет никакого отношения к умножению, а or не имеет отношения к сложению. Это операции получения минимального и максимального, соответственно, значений из набора...


 
Ketmar ©   (2007-03-12 18:28) [27]

> Чапаев ©   (12.03.07 18:25) [26]
я знаю, что не имеет. то был пример работы моего моска. точнее, памяти.


 
McSimm_   (2007-03-12 18:32) [28]

0*0=0
0*1=0
1*0=0
1*1=1

ничего не напоминает ?
;)


 
Ega23 ©   (2007-03-12 18:33) [29]


> ничего не напоминает ?


and  :)


 
Ketmar ©   (2007-03-12 18:38) [30]

а почему 1+1=10???


 
Чапаев ©   (2007-03-12 18:40) [31]

> ничего не напоминает ?
"О чём вы думаете, глядя на этот кирпич?"


 
Andy BitOff ©   (2007-03-12 18:44) [32]

А я его использую иногда, как переключатель
Pause := Pause xor True;


 
default ©   (2007-03-12 18:45) [33]

вы ничерта не понимаете:)
надо просто мыслить гармонично
or битовый и логический оба нужны и они включены в язык
...
xor битовый нужен и его надо включать язык и чтобы не нарушить гармонию и не оставить его бедным родственником включили и логический xor:)


 
Чапаев ©   (2007-03-12 18:47) [34]

> [32] Andy BitOff ©   (12.03.07 18:44)
> А я его использую иногда, как переключатель
> Pause := Pause xor True;
А Pause:=not Pause уже не круто?


 
default ©   (2007-03-12 18:47) [35]

Andy BitOff ©   (12.03.07 18:44) [32]
ну ты гигант мысли отец русской демократии особа приближённая к императору:)
Pause := not Pause;


 
Рамиль ©   (2007-03-12 18:48) [36]


> Andy BitOff ©   (12.03.07 18:44) [32]
> А я его использую иногда, как переключатель
> Pause := Pause xor True;

Хм...
Pause := not Pause;


 
Чапаев ©   (2007-03-12 18:48) [37]

ксор глазами хакера ;-)


 
Andy BitOff ©   (2007-03-12 18:51) [38]

А я с ассемблера привык и даже не задумывался. =)


 
kaif ©   (2007-03-12 18:56) [39]

Чапаев ©   (12.03.07 16:42) [1]
Проверка истинности только одного условия из двух. В принципе, оператор избыточен в булевом базисе.


В принципе оператор or тоже избыточен в булевом базисе.
Достаточно бинарного оператора and и унарного not.
:)

A or B == not ((not A) and (not B))

Так что если уж xor для минимализма выкидывать, то or - тем более.


 
Чапаев ©   (2007-03-12 19:05) [40]

> В принципе оператор or тоже избыточен в булевом базисе.
> Достаточно бинарного оператора and и унарного not.
Не путай тёплое с мягким. Функционально полны "системы" функций and-not и or-not. То есть в принципе из булевского базиса можно выкинуть на выбор или or, или and. Но булевский базис -- это именно {not;and;or}.


 
default ©   (2007-03-12 19:13) [41]

Чапаев ©   (12.03.07 19:05) [40]
что-то ты странное говоришь...
тебе сказали простую вещь: достаточно двух функций (and и not) чтобы построить любую булеву функцию
и это соответствует действительности


 
wicked ©   (2007-03-12 19:16) [42]

хе-хе.... раз пошла такая пьянка, то в булевском базисе можно оставить вообще один из операторов - штрих Шеффера или стрелку Пирса - "and-not" или "or-not" (какая операция какому дядьке соответствует - надо в книжке глянуть)
все остальные "базисные" операции легко образуются из этого одного... :)

интересно, а внутри проца, на уровне транзисторов они как реализованы?


 
default ©   (2007-03-12 19:18) [43]

Чапаев ©   (12.03.07 19:05) [40]
или так удачно съехал сославшись на терминологию:)


 
default ©   (2007-03-12 19:21) [44]

wicked ©   (12.03.07 19:16) [42]
лучше посмотри действительно прав в терминологии Чапаев в [40]


 
Чапаев ©   (2007-03-12 19:22) [45]

> тебе сказали простую вещь: достаточно двух функций (and
> и not) чтобы построить любую булеву функцию
1) точно так же достаточно or и not;
2) не надо переключательную функцию обзывать булевой функцией, меня от этого коробит. ;-)
Булевский базис -- лишь один из многих. Есть упомянутый базис Шеффера {and-not}, есть базис Пирса {or-not}, есть базис Жегалкина {and;xor;1}, есть базис Буля {not;and;or}. В каждом из базисов можно построить переключательную функцию любой сложности.

А можно для удобства добавить Булю xor... Только это уже будет не Буль. ;-)

Кстати, булевский базис вообще из общей картины выпадает наличием унарного оператора отрицания.


 
wicked ©   (2007-03-12 19:23) [46]

> default ©   (12.03.07 19:21) [44]

> лучше посмотри действительно прав в терминологии Чапаев
> в [40]

смотря, что он понимает под and-not и or-not...
вот, например, and-not - это одна операция или две - and и not?

в принципе, повторюсь, достаточно ОДНОЙ операции - "and-not" ИЛИ "or-not"
остальные выводятся из неё, родимой :)


 
Чапаев ©   (2007-03-12 19:24) [47]

> [46] wicked ©   (12.03.07 19:23)
В классике -- одна


 
default ©   (2007-03-12 19:39) [48]

блин я писал ответ, а его нету
нарно с окнами отвлекли
уже лень переписывать:)



Страницы: 1 2 вся ветка

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.031 c
3-1168425856
Dmitriy_info
2007-01-10 13:44
2007.04.08
Как из Delphi программно создать связь между двумя базами Access?


15-1173711497
Kerk
2007-03-12 17:58
2007.04.08
Perl


2-1174196264
vegarulez
2007-03-18 08:37
2007.04.08
Вопрос по поводу селекта к БД.


3-1169045274
PEAKTOP
2007-01-17 17:47
2007.04.08
Функция UPPER в Firebird v2.0


2-1174254174
uranius
2007-03-19 00:42
2007.04.08
как грамотно отправить xml запрос по http ?