-2

重複の可能性:
C で 1 つのビットをどのように設定、クリア、トグルしますか?

アセンブラを作成したいので、32 ビットをビット単位またはフィールド単位で割り当てて、アセンブリから 32 ビット オペコードを作成する必要があります。C でこれを行うにはどうすればよいですか? どうすれば整数にビットを割り当てることができますか? これはできますか?

4

1 に答える 1

2

これらの 2 つのマクロを宣言すると、次のことができます。

#define Set_Bit(IntValue, BitNumber) IntValue = IntValue | (1<<BitNumber)
#define Clr_Bit(IntValue, BitNumber) IntValue = IntValue & (~((1) << (BitNumber))))

これらについては以前にいくつかの質問がありました: ビットを設定およびクリアするマクロ

于 2012-08-31T00:01:00.937 に答える