@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