|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
Всем привет! Пытаюсь решить задачку, как можно из строки с числом к примеру 234 получить результат '01110'. Значение 2, 3 и 4 это позиция в строке '00000'. Т.е 2 это единичка на втором бите. 3-ка в третьем бите. Это все можно сделать в Select'е ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 17:09 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
Задача какая-то сферично вакуумная Сдвиг и побитовый OR Поскольку по формулировке битов быть может не больше 9 штук (1..9), захордкодить 9-ть substr'ов в SELECT'е проблем быть не должно. https://docs.oracle.com/cd/E22583_01/DR/help/Bit_Binary_Functions.html#DALc02a_2726006080_257082 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 17:13 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
Dr_Grizzly, Код: plsql 1. 2. 3. 4. 5. 6.
пример Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 17:36 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
протупил - реверс не нужен: Код: plsql 1. 2. 3. 4. 5.
пример Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 17:39 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 17:41 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
Dr_Grizzly Т.е 2 это единичка на втором бите ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 17:59 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
xtender Dr_Grizzly Т.е 2 это единичка на втором бите Я попробовал функциешку нарисовать loop exit when v_cnt > length(p_val); v_num := substr(p_val, v_cnt, 1); v_res1 := utl_raw.bit_or(v_res1,rpad(lpad('1',v_num,'0'),6,'0')); --Догоняем нулями до 6 знаков, чтобы было четное количество, для преобразования в байт v_cnt := v_cnt + 1; end loop; return v_res1; которую в селект запихнул, впринципе работает )) но вот в самом селекте было б интересней )) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 09:30 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
SY Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
SY. Изящное решение! Жаль что у меня 11 оракл (( а он не знает lateral ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 09:54 |
|
Побитовая конвертация
|
|||
---|---|---|---|
#18+
Dr_Grizzly, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
.... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 10:42 |
|
|
start [/forum/topic.php?fid=52&fpage=51&tid=1881483]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 145ms |
0 / 0 |