HiWord
 
Gets the most-significant word (MSW, or hi-word) of an UInteger value.

Syntax

#define HiWord( expr ) ( Cast(UInteger, expr) Shr 16 )

Usage

result = HiWord( expr )

Parameters

expr
A numeric expression, converted to an UInteger value.

Return Value

Returns the MSW value 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 its MSW.

Example

Dim N As UInteger

'Note there are 32 bits
N = &b10000000000000011111111111111111

Print "N is                                       "; N
Print "The binary representation of N is          "; Bin(N)
Print "The most significant word (MSW) of N is    "; HiWord(N)
Print "The least significant word (LSW) of N is   "; LoWord(N)
Print "The binary representation of the MSW is    "; Bin(HiWord(N))
Print "The binary representation of the LSW is    "; Bin(LoWord(N))

Sleep


The output would look like:
N Is                                       2147614719
The Binary representation of N Is          10000000000000011111111111111111
The most significant word (MSW) of N Is    32769
The least significant word (LSW) of N Is   65535
The Binary representation of the MSW Is    1000000000000001
The Binary representation of the LSW Is    1111111111111111

Dialect Differences

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

Differences from QB

  • New to FreeBASIC

See also