演算対象の2番目のバイトを取得します。
Uinteger 値の、最下位ワード(LSW または lo-word) の、最上位バイト(MSB または hi-byte)、を得ます。
一番下の桁を表現しているのがLSBで、一番上の桁を表現しているのがMSBです。
「b1765a8f」というバイト列のLSBは、右端の8fになります。
構文:
用法:
result = Hibyte
( expr )
パラメタ:
戻り値:
expr の下位16ビット語の、上位バイト値を返します。
Cast(Uinteger, expr) の、LSW の、MSB 値を返します。
記述:
このマクロは、数値表現
expr を、
Uinteger 値に変換します。そして、その2バイト目 ― これは、
expr の最下位の(低い)16ビット語の、最上位の(高い)バイト ― の値を表す
Uinteger に展開します。
このマクロは、数値式 expr を Uinteger 値に変換して、次に、その LSW の MSB の値を表す Uinteger に、展開します。
これは、Hibyte(Loword(expr)) のように振舞います。
例:
Dim N As UInteger
'16ビットあることに注意してください
N = &b1010101110000001
Print "N は ";
N
Print "N の 2進数表現は ";
Bin(N)
Print "N の最上位バイト (MSB) は ";
HiByte(N)
Print "N の最下位バイト (LSB) は ";
LoByte(N)
Print "MSB の 2進数表現は ";
Bin(HiByte(N))
Print "LSB の 2進数表現は ";
Bin(LoByte(N))
Sleep
下のように表示されるでしょう:
N は 43905
N の 2進数表現は 1010101110000001
N の最上位バイト (MSB) は 171
N の最下位バイト (LSB) は 129
MSB の 2進数表現は 10101011
LSB の 2進数表現は 10000001
方言差:
-
別名 __HIBYTE と共に参照をつけないと、-lang qb 方言で利用できません。
QBからの違い:
参照: