HiByte
Gets the most-significant byte (MSB, or hi-byte) of the least-significant word (LSW, or lo-word) of an `UInteger` value.
Syntax
`
#define HiByte( expr ) ( ( Cast(UInteger, expr) And &h0000FF00 ) Shr 8 )
`
Usage
`
result = HiByte( expr )
`
Parameters
`expr`
A numeric expression, converted to an `UInteger` value.
Return Value
Returns the MSB value of the LSW 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 the MSB of its LSW. It behaves as `HiByte(LoWord(expr))`.
Example
`
Dim N As UInteger
'Note there are 16 bits
N = &b1010101110000001
Print "N is "; N
Print "The binary representation of N is "; Bin(N)
Print "The most significant byte (MSB) of N is "; HiByte(N)
Print "The least significant byte (LSB) of N is "; LoByte(N)
Print "The binary representation of the MSB is "; Bin(HiByte(N))
Print "The binary representation of the LSB is "; Bin(LoByte(N))
Sleep
`
The output would look like:

    N Is                                       43905
    The Binary representation of N Is          1010101110000001
    The most significant Byte (MSB) of N Is    171
    The least significant Byte (LSB) of N Is   129
    The Binary representation of the MSB Is    10101011
    The Binary representation of the LSB Is    10000001

Dialect Differences

- Not available in the -lang qb dialect unless referenced with the alias `__HIBYTE`.

Differences from QB

- New to FreeBASIC

See also

- `LoByte`
- `LoWord`
- `HiWord`