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

FreeBASIC Hibyte

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

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

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

演算対象の2番目のバイトを取得します。

Uinteger 値の、最下位ワード(LSW または lo-word) の、最上位バイト(MSB または hi-byte)、を得ます。

一番下の桁を表現しているのがLSBで、一番上の桁を表現しているのがMSBです。
「b1765a8f」というバイト列のLSBは、右端の8fになります。

構文:
#define Hibyte( expr ) ((Cast(Uinteger, expr) and &h0000FF00) shr 8)

用法:
result = Hibyte ( expr )

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

戻り値:
expr の下位16ビット語の、上位バイト値を返します。
Cast(Uinteger, expr) の、LSW の、MSB 値を返します。

記述:
このマクロは、数値表現 expr を、Uinteger 値に変換します。そして、その2バイト目 ― これは、expr の最下位の(低い)16ビット語の、最上位の(高い)バイト ― の値を表す Uinteger に展開します。

このマクロは、数値式 exprUinteger 値に変換して、次に、その 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



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

ページ歴史:2016-02-10 16:01:05
日本語翻訳:WATANABE Makoto、原文著作者:RandyKeeling

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

表示-非営利-継承