高品質Cプログラミング09-ビット操作
2378 ワード
1.ビット演算は通常符号数のない演算である
2.基本ビットオペレータ
アイコン
さぎょう
&
ビットと
|
ビットまたは
~
ビット反転
^
位異或
<<
左に移動
>>
右に移動
3.基本ビットオペレータ使用帰納
(1)
(2)
(3)
(4)
(5)
(6)
(7)
4.複合表現を扱う二つのガイドライン評価順序 優先度 結合性 (1)疑念がある場合は、式の上でプログラムロジックの要求に従って
2.基本ビットオペレータ
アイコン
さぎょう
&
ビットと
|
ビットまたは
~
ビット反転
^
位異或
<<
左に移動
>>
右に移動
3.基本ビットオペレータ使用帰納
(1)
int
型変数a
が奇数か偶数かを判定するa & 1 == -0 //
a & 1 == -1 //
(2)
int
型変数a
の第k
ビットをとるa >> k & 1;
(3)
int
型変数a
の第k
ビットを0にクリアするa = a & ~(1 << k);
(4)
int
型変数a
の第k
位置1をa = a | (1 << k);
(5)
int
型変数a
の第k
ビットを反転a = a ^ (1 << k);
(6)
int
型変数a
サイクル左シフトk
回a = a << k | a >> 32 - k;
(7)
int
型変数a
サイクル右シフトk
回a = a >> k | a << 32 - k;
4.複合表現を扱う二つのガイドライン
( )
強制オペランドの組み合わせを使用する(2)オペランドの値を変更する場合は、同じ文の他の場所でオペランドを使用しないでください.変更した値を使用する必要がある場合は、テーブルを2つの独立した文に分割し、1つの文でオペランドの値を変更し、別の文で使用します.