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