La réponse suivante n'est pas indépendante de l'endianness et ma formulation est basée sur le petit format endian...
Vous pouvez décaler des bits en multipliant simplement (décalage à gauche) ou en divisant (décalage à droite) l'argument par 2 à la puissance x où x est le nombre de bits à décaler. par exemple, si j'ai besoin de décaler l'octet de poids faible d'un nombre (255:11111111) de 16 bits vers la gauche, j'effectuerais l'opération suivante :
select 255 * power(2,16) from dual;
-- the result will be (16711680:111111110000000000000000)
à l'inverse, si je veux décaler la valeur 16711680 de 16 bits vers la droite, j'effectuerai ce qui suit :
select 16711680 / power(2,16) from dual;
-- the result will be (255:11111111)