@bit_shiftl(int, int)
@bit_shiftr(int, int)
@bit_or(int, int)
@bit_and(int, int)

Function @bit_shiftl sees its first argument (an integer) as a series of 64 bits. The second argument is the number of positions these bits will be shifted to the left. The last digits on the right are filled with a zero. Please note that this is not circular shift.

Function @bit_shiftr is similar but the shift is done to the right.

Function @bit_and and @bit_or see their arguments as a series of 64 bits and they apply the corresponding logical operation, bit-wise.

For example

   @bit_shiftl(123, 1) == 246
   @bit_shiftrl(256, 2) == 64

shifting an integer to the left by n positions corresponds to a multiplication by 2^n and accordingly, shifting to the rigth divides by 2^n.

Integer 1 is represented by the sequence "...001" and integer 2 by "...010". Sot the results of the bit wise operations between 1 and 2 are:

   @bit_or(1, 2) == 3   
   @bit_and(1, 2) == 0


See also Mathematical Functions @abs,    @acos,    @asin,    @atan,    @atan2,    @between,    @bit_and,    @bit_or,    @bit_shiftl,    @bit_shiftr,    @ceil,    @clear,    @cos,    @cosh,    @exp,    @floor,    @knn_create,    @knn_rebuild,    @knn_delete,    @knn_rnd,    @knn_search,    @knn_rsearch,    @knn_scan,    @knn_rscan,    @knn_combine,    @knn_rcombine,    @log,    @log10,    @log2,    @max,    @min,    @ode_solve,    @pow,    @rand,    @rand_int,    @random,    @rnd_bernoulli,    @rnd_binomial,    @rnd_exponential,    @rnd_gamma,    @rnd_geometric,    @rnd_normal,    @rnd_uniform_float,    @rnd_uniform_int,    @round,    @sin,    @sinh,    @sqrt,    @tan,    @y0,    @y1