HiWord
Gets the most-significant word (MSW, or hi-word) of an `UInteger` value.
Syntax
`
#define HiWord( expr ) ( Cast(UInteger, expr) Shr 16 )
`
Usage
`
result = HiWord( expr )
`
Parameters
`expr`
A numeric expression, converted to an `UInteger` value.
Return Value
Returns the MSW value of `Cast(UInteger, expr)`.
Description
This macro converts the numeric expression `expr` to an `UInteger` value, then expands to an `UInteger` representing the value of its MSW.
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`