Help Center
Help CenterFreeBASIC

HiBytekeyword

Gets the second byte of the operand.

Bit Manipulationkeyworddocumented

Syntax

#define HiByte( expr ) ((Cast(UInteger, expr) And &h0000FF00) Shr 8)

Parameters

NameDescription
exprA 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.

Remarks

Usage


result = HiByte( expr )

Dialect Differences


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

Differences from QB


  • New to FreeBASIC

See also


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

Reference

  • Documented in KeyPgHibyte.html