Name

bit_shift — Returns the result of bitwise shift operation over two 32-bit integers.

Synopsis

bit_shift ( in value integer ,
in distance integer );

Description

The function returns bitwise shift of two given integers. Depending on the arguments, the shift may be left or right. For right-shift, leftmost bits of the result are filled by the value of the 31-st bit.

On 64-bit platforms, both arguments are intentionally truncated to 32 bits and the shift is restricted to 32 bits to maintain compatibility.

Parameters

value

The value to be shifted.

distance

The sign of the parameter specifies the direction of the shift: positive values indicate shift to the left, negative values indicate shift to the right. The absolute value of the parameter specifies the number of bits to shift. The value of zero means that the result is equal to the value of the first argument.

Return Types

Integer.

Examples

Example24.26.Bitwise-shifting

select bit_shift (18, 6);
1152

select bit_shift (-18, 6);
-1152

select bit_shift (1152, -6);
18

select bit_shift (-1152, -6);
-18