La seguente risposta non è indipendente dall'endianness e la mia formulazione si basa sul formato little endian...
Puoi spostare i bit semplicemente moltiplicando (sposta a sinistra) o dividendo (sposta a destra) l'argomento per 2 alla potenza di x dove x è il numero di bit da spostare. ad esempio, se ho bisogno di spostare il byte di ordine inferiore di un numero (255:11111111) di 16 bit a sinistra, eseguirei la seguente operazione:
select 255 * power(2,16) from dual;
-- the result will be (16711680:111111110000000000000000)
al contrario, se voglio spostare il valore 16711680 di 16 bit a destra, eseguirei le seguenti operazioni:
select 16711680 / power(2,16) from dual;
-- the result will be (255:11111111)