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