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

Вниз

Oracle и побитовые операции   Найти похожие ветки 

 
Michail Dalakov ©   (2004-02-28 12:12) [0]

Как известно в Oracle есть пакет для выполнения побитовых операций с типом данных RAW. Как проделать то же самое с типом Number не прибегая к преобразованию типов


 
Reindeer Moss Eater ©   (2004-02-28 12:30) [1]

BITAND
Для целых положительных аргументов


 
Michail Dalakov ©   (2004-02-28 12:40) [2]

Спасибо, странно что эта ф-ия недокументирована


 
Michail Dalakov ©   (2004-02-28 14:05) [3]

А есть ли ф-ия побитового ОR? И как она выглядит в этом случае?


 
Reindeer Moss Eater ©   (2004-02-28 14:29) [4]

Нету.
Но ее можно эмулировать.

исходное значение
Result:=2; -- $0010

Поднять третий бит справа
Result := BITAND(result,11) + 4

Поднять четвертый бит справа
Result := BITAND(result,7) + 8


 
Michail Dalakov ©   (2004-02-28 15:19) [5]

Ну да, но если надо установить несколько бит, то это будет столько же операций +2^n, правда в приведенном примере я не понял почему не просто

Поднять третий бит справа
Result := result + 4

Поднять четвертый бит справа
Result := result + 8


 
Reindeer Moss Eater ©   (2004-02-28 15:20) [6]

А если он уже поднят?


 
Reindeer Moss Eater ©   (2004-02-28 15:24) [7]

то это будет столько же операций +2^n,

Поднять третий и четвертый бит справа

result := BITAND(result,3) + 12

Одна операция


 
Michail Dalakov ©   (2004-02-28 15:42) [8]

To [6] Сoгласен
To [7] Да, но в этом случае надо держать массив, где количество
элементов = 2*2^n, n-количество бит, и делать
result := BITAND(result,A[i]) + B[i]


 
Reindeer Moss Eater ©   (2004-02-28 15:44) [9]

LarryAllison@oracle.com


 
Reindeer Moss Eater ©   (2004-02-28 15:49) [10]

Кроме того никто не запрещает реализовать OR на встроенной яве


 
Michail Dalakov ©   (2004-02-28 16:03) [11]

Согласен,
Спасибо, особенно за Reindeer Moss Eater ©   (28.02.04 12:30) [1]



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

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

Наверх




Память: 0.49 MB
Время: 0.036 c
1-1078838918
UnSirious
2004-03-09 16:28
2004.03.28
Работа со строками в Memo.


1-1078382310
girich
2004-03-04 09:38
2004.03.28
Вопрос по TServiceApplication (события OnCreate и OnStart).


14-1078222874
Zergling
2004-03-02 13:21
2004.03.28
Чудило-продавцы :)


8-1067257669
Urvin
2003-10-27 15:27
2004.03.28
Размер Экрана и ДиректХ


14-1077850939
Думкин
2004-02-27 06:02
2004.03.28
С днем рождения! 27 февраля.