Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c