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

FreeBASIC Bitreset

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

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

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

コピーされた整数から、指定されたビットが消去された値を取得します。

構文:
#define Bitreset( value, bit_number ) ((value) and not (Cast(TypeOf(Value), 1) shl (bit_number)))

用法:
result = Bitreset ( value, bit_number )

パラメタ:
value
整数値。

bit_number
消去するビットのインデックス。

戻り値:
指定されたビットが消去された状態で、整数値を返します。

記述:
このマクロは、指定された bit_number を消去(off か `0` に)した状態で、整数 value のコピーを展開します。
`value And Not (1 Shl bit_number)` として動作します。
変数内の指定されたビットをクリアするには、次の割り当てを使えます: variable = Bitreset( variable, bit_number )

bit_number の値の有効範囲は、`Typeof(value)` のビットでのサイズに依存します。`Typeof(value)` は、`0` (最下位ビットから) から `Sizeof(value) * 8 - 1`(最大ビットまで) です。
標準のデータ型とそのサイズの表は、標準のデータ型の限界 を参照ください。
有効な範囲外の bit_number 値の場合、このマクロの結果は未定義です。

例:
Print Bin(BitReset(&b10101, 2))
Print
Print 3
Print Bin(3)
Print BitReset (3, 0)
Print Bin (BitReset(3, 0))
Print
Print 4
Print Bin(4)
Print BitReset (4, 0)
Print Bin (BitReset(4, 0))
Print
Print 5
Print Bin(5)
Print BitReset (5, 0)
Print Bin (BitReset(5, 0))
Print
Print Hex (BitReset(&h8000000000000001,63))
Sleep


下のように表示されるでしょう:

10001

 3
11
 2
10

 4
100
 4
100

 5
101
 4
100

1


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

ページ歴史:2020-06-16 07:21:34
日本語翻訳:WATANABE Makoto、原文著作者:AntoniGual

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

表示-非営利-継承