HiByte
Gets the second byte of the operand.
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 value of the high byte of the low 16bit word 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 byte - that is the most-significant (high) byte of the least-significant (low) 16bit word of 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`