基礎こそ重中の重~位の演算である

2716 ワード

カタログに戻る
ビット演算はC#,VBでもT-SQLでもサポートされています.ビット演算は数値タイプの各ビットを計算します.プログラムでは、10進数、16進数、バイナリを使ってビット演算を行うことができます.実際には、どの進数を使っても、コンピュータでは最後にバイナリ(0,1)に変換する形式です.バイナリは簡単なので、ほほほ.
次に、ビット演算に関する表を示します.
えんざんきごう
ビット演算オペレータ
オペランドタイプ
演算結果タイプ
オブジェクトオペランド
≪インスタンス|Instance|emdw≫
~
非演算
せいけい
せいけい
1つ
~x
&
演算
2つ
x & y
|
または演算
2つ
x | y
^
イソOR演算
2つ
x ^ y
<< 
左シフト演算
2つ
x << 2
>> 
右シフト演算
2つ
x >> 2
一般的に、このビット演算では、0、2、4、8、16、32、64128などの2のN次方程式の結果に多く使用されています.なぜなら、これらの数字はバイナリに変換された後も非常に多いからです.
特に、コードを見て、ほほほ
1   12     104       1008     100016     1000032     10000064     1000000128   10000000
これを見ると、最上位では1であり、他のビットでは0であるだけで、これらの数字に対してビット演算を行う場合、いくつかの性質があります.まとめてみましょう.
2を満たすN乗の10進数には、次の演算特性があります.
1と演算は、ある数が別の数に存在するかどうかを判断するために使用することができる.
10 & 2 //   2,  0     2    1    10=8+2

2または演算は、2つの数を加算するために使用できます.
82 //   10,10 | 2     10,              ,(1000 | 10  1010, 1010 | 10     1010 ))  , 10|4   14

3非演算と演算を一緒に使用すると、1つの要素を1つの集合から除去できます.
4 & (~2) //   4,4    2,        4
3 & (~2) //   1,3 1 2  ,    2     1

4左シフト演算、1シフトごとに2を掛けることに相当
4 << 2 //   16

5右に移動すると、移動ごとに1ビットが2を除くことに相当します.
4 >> 2 //   1

まとめ:
时には、私达は本の上で见たものとネットの上で见たもの、必ずしも正しいとは限らないで、时には、私达に自分でコンピュータを开いて検証するように要求して、ほほほ!
时には、プログラミングのもの、多くの时にあなたが十進法をバイナリに変えた后に、海が広がって、ほほほ!
読んでくれてありがとう!
カタログに戻る