オペランドの 2番目の 16ビット語を得る。
Uinteger 値の、最上位ワード(MSW または hi-word)を得ます。
構文:
用法:
result = Hiword
( expr )
パラメタ:
戻り値:
expr の、下位低 32ビットのダブル・ワードの、上位 16ビット語の値を返します。
Cast(Uinteger, expr) の、MSW 値を返します。
記述:
このマクロは、数値表現
expr を
Uinteger 値に変えます。そして、その 2番目の 16ビット語の値を表している
Uinteger に展開します。 ― これは、
expr の最下位(下位)32ビット dword の最上位(上位)16ビット語です。
例:
Dim N As UInteger
'32ビットあることに注意してください
N = &b10000000000000011111111111111111
Print "N は ";
N
Print "N の 2進数表現は ";
Bin(N)
Print "N の最上位ワード (MSW) は ";
HiWord(N)
Print "N の最下位ワード (LSW) は ";
LoWord(N)
Print "MSW の 2進数表現は ";
Bin(HiWord(N))
Print "LSW の 2進数表現は ";
Bin(LoWord(N))
Sleep
下のように表示されるでしょう:
N は 2147614719
N の 2進数表現は 10000000000000011111111111111111
N の最上位ワード (MSW) は 32769
N の最下位ワード (LSW) は 65535
MSW の 2進数表現は 1000000000000001
LSW の 2進数表現は 1111111111111111
方言差:
-
別名 __HIWORD と共に参照をつけないと、-lang qb 方言で利用できません。
QBからの違い:
参照: