Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить в PL/SQL оператор XOR / 18 сообщений из 18, страница 1 из 1
10.07.2006, 11:46
    #33841609
TES
TES
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Скажите есть ли в PL/SQL оператор XOR и если нет то как его состряпать при помощи OR, AND, NOT.

Подскажите пожалуйста
...
Рейтинг: 0 / 0
10.07.2006, 11:49
    #33841621
Калина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
автороператор XOR и если нет то как его состряпать при помощи OR, AND, NOT.
Это не по Oracle вопрос вроде !Первый курс , програмирование!
------------------------------
Not affilated with VAZ
...
Рейтинг: 0 / 0
10.07.2006, 11:51
    #33841632
dmidek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Перерывая остатки мат логики в голове :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
v_a boolean := TRUE;
v_b boolean := TRUE;
begin
if (v_a or v_b) and not (v_a and v_b)
then
dbms_output.put_line('True ');
else
dbms_output.put_line('False ');
end if;
end;
/
False
...
Рейтинг: 0 / 0
10.07.2006, 11:58
    #33841672
umount
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
XOR в PL/SQL не оператор а функция, т.е. получить его можно так
Код: plaintext
1.
2.
3.
begin
   K := XOR(X,Y);   
end;
...
Рейтинг: 0 / 0
10.07.2006, 12:01
    #33841688
sp00n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
в др версиях - не смотрел. в 10 есть функция BIT_XOR()
...
Рейтинг: 0 / 0
10.07.2006, 12:04
    #33841699
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
dmidekПерерывая остатки мат логики в голове :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
v_a boolean := TRUE;
v_b boolean := TRUE;
begin
if (v_a or v_b) and not (v_a and v_b)
then
dbms_output.put_line('True ');
else
dbms_output.put_line('False ');
end if;
end;
/
False
Ну или если упростить выражение, то получим:
Код: plaintext
(v_a and not v_b) or (v_b and not v_a)
...
Рейтинг: 0 / 0
10.07.2006, 12:07
    #33841717
Бомж
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Разве

XOR(b1,b2) = B1 and not B2??

Код: plaintext
© Напишу на С++ за еду 
...
Рейтинг: 0 / 0
10.07.2006, 12:15
    #33841759
sp00n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
...
Рейтинг: 0 / 0
10.07.2006, 12:15
    #33841760
dmidek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
2 Я и Бомж. Да, похоже Вы правы. Я тоже смутно помнил, что это упрощается.
У меня это просто на уровне мнемоники: XOR - это OR, в котором два True - это False. Как ребенку говорят "Мы пойдем ИЛИ в кино, ИЛИ кушать мороженое" :)
...
Рейтинг: 0 / 0
10.07.2006, 12:16
    #33841766
TES
TES
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Всё здорово, но я неправильно сформулировал вопрос - нужно побитовое XOR.
То есть есть число 7836000 и 7836999 нужно каким нибудь простым запросом получить из них число 7836
...
Рейтинг: 0 / 0
10.07.2006, 12:31
    #33841832
dmidek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
TESВсё здорово, но я неправильно сформулировал вопрос - нужно побитовое XOR.
То есть есть число 7836000 и 7836999 нужно каким нибудь простым запросом получить из них число 7836
Ааа, такая буква есть :)

http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_raw2.htm#1002066] DBMS_RAW.BIT_XOR
...
Рейтинг: 0 / 0
10.07.2006, 12:45
    #33841910
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Осталось только число 7836000 и 7836999 в raw преобразовать.
...
Рейтинг: 0 / 0
10.07.2006, 12:51
    #33841945
dmidek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
dmidek TESВсё здорово, но я неправильно сформулировал вопрос - нужно побитовое XOR.
То есть есть число 7836000 и 7836999 нужно каким нибудь простым запросом получить из них число 7836
Ааа, такая буква есть :)

http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_raw2.htm#1002066] DBMS_RAW.BIT_XOR

Тьфу ты, UTL_RAW, конечно ...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
23.10.2019, 16:22
    #39880552
Сергей Викторович ВВВВВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
по моим исследованиям путь с DBMS_RAW.BIT_XOR оказался тупиковым так как cast_to_number (из raw) потом затруднителен.
нашел ответы здесь http://www.orafaq.com/forum/t/185586/
кто то выложил пример реализации пакета с набором утилит для битовых операций. (но надо зарегиться для скачивания исходника). он просто прошелся по битам числа в цикле. но работает.
...
Рейтинг: 0 / 0
23.10.2019, 16:32
    #39880562
oragraf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Сергей Викторович ВВВВВпо моим исследованиямТут на слово не принято верить. Выкладывай свои исследования, некропостер
...
Рейтинг: 0 / 0
23.10.2019, 16:37
    #39880564
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Сергей Викторович ВВВВВпо моим исследованиям путь с DBMS_RAW.BIT_XOR оказался тупиковым так как cast_to_number (из raw) потом затруднителен.
Кхм... А как Вы вообще представляете себе осмысленный XOR над числами с плавающей запятой?
...
Рейтинг: 0 / 0
23.10.2019, 16:53
    #39880579
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
Сергей Викторович ВВВВВпо моим исследованиям путь с DBMS_RAW.BIT_XOR оказался тупиковым так как cast_to_number (из raw) потом затруднителен.Помимо number, в pl/sql есть битовый числовой тип, хоть и ограниченный 32 битами.
xor легко эмулируется bitand и арифметикой.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
01.11.2021, 19:56
    #40108702
gooriy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить в PL/SQL оператор XOR
a!=b
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить в PL/SQL оператор XOR / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]