Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Force 4.0 Reference - longshiftright() shift right the bits in a ulong by the given number http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 longshiftright()    Shift right the bits in a ulong by the given number
------------------------------------------------------------------------------
 Declaration
   bit.hdr

 Syntax
   func ulong longshiftright extern
   param value ulong uNumber, ;
         value uint  uBits

 Arguments
   uNumber is a numeric expression.
   uBits is the number of bits to shift.

 Return
   The result of the shift operation.

 Description
   longshiftright() shifts the 32 bits in uNumber to the right by the
   number specified by uBits. Leftmost bits are set to 0; bits "shifted
   out" are lost.

   When uNumber contains 8, its binary representation is

   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

   longshiftright( uNumber, 2 ) returns a result having the following binary 
   representation:

   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

   If uNumber has the following binary representation:

   1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 1 1

   longshiftleft( uNumber, 1 ) returns the following binary result:

   0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0

   The trailing "1" is lost.

 Example
   #define EXAMPLE_MATH
   #include example.hdr

   proc Test_longshiftright
   vardef
      ulong nNum
      uint  n
   enddef
   // Divide a ulong by 4
   nNum := 00000000000000000000000000001000B
   ? nNum                              // outputs 8
   ? longshiftright( nNum, 2 )         // outputs 2
   ?
   nNum := 10000000000000000000000000000000B
   for n := 0 to 32
      ? n, longshiftright( nNum, n )
   next
   endproc

   proc main
   Test_longshiftright()
   endproc

See Also: longshiftleft() shiftright()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson