HiWord

Gets the second 16bit word of the operand.

Syntax
   #define HiWord( expr ) ((Cast(UInteger, expr) and &hFFFF0000) Shr 16)

Usage
   result = HiWord( expr )

Parameters
   expr
      A numeric expression, converted to an UInteger value.

Return Value
   Returns the value of the high 16bit word of the low 32bit dword of expr.

Description
   This macro converts the numeric expression expr to an UInteger value, 
   then expands to an UInteger representing the value of its second 16bit 
   word - that is the most-significant (high) 16bit word of the 
   least-significant (low) 32bit dword of expr.

Example
   Dim N As UInteger

   'Note there are 32 bits
   N = &b10000000000000011111111111111111

   Print "N is                                       "; N
   Print "The binary representation of N is          "; Bin(N)
   Print "The most significant word (MSW) of N is    "; HiWord(N)
   Print "The least significant word (LSW) of N is   "; LoWord(N)
   Print "The binary representation of the MSW is    "; Bin(HiWord(N))
   Print "The binary representation of the LSW is    "; Bin(LoWord(N))

   Sleep

The output would look like:

   N Is                                       2147614719
   The Binary representation of N Is          10000000000000011111111111111111
   The most significant word (MSW) of N Is    32769
   The least significant word (LSW) of N Is   65535
   The Binary representation of the MSW Is    1000000000000001
   The Binary representation of the LSW Is    1111111111111111

Dialect Differences
   * Not available in the -lang qb dialect unless referenced with the 
     alias __HIWORD.

Differences from QB
   * New to FreeBASIC

See also
   * LoByte
   * HiByte
   * LoWord

