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