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