FreeBASIC マニュアルのトップに戻る

FreeBASIC Hiword

目次→実行時ライブラリー参考→ビット操作HIWORD←オリジナル・サイト

HIWORD 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

オペランドの 2番目の 16ビット語を得る。

Uinteger 値の、最上位ワード(MSW または hi-word)を得ます。

構文:
#define Hiword( expr ) ((Cast(Uinteger, expr) and &hFFFF0000) shr 16)

用法:
result = Hiword ( expr )

パラメタ:
expr
Uinteger 値に変換された、数値表現。

戻り値:
expr の、下位低 32ビットのダブル・ワードの、上位 16ビット語の値を返します。

Cast(Uinteger, expr) の、MSW 値を返します。

記述:
このマクロは、数値表現 exprUinteger 値に変えます。そして、その 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



方言差:
QBからの違い:
参照:
ビット操作 に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2022-11-04 11:50:46
日本語翻訳:WATANABE Makoto、原文著作者:RandyKeeling

ホームページのトップに戻る

表示-非営利-継承