2010-12-26 18 views

答えて

13
<<, >> 

Bit shiftそれぞれ、左右。左のオペランドをバイナリシーケンスのビットとして考えると、右オペランドに示されたビット数だけ、を左または右にシフトすると、になります。

&, ^, | 

これらはビット単位XOR、それぞれ又は、です。 &|は、&&||のカウンターパートと考えることができます。ただし、オペランドをビットベクトルとして扱い、それぞれのビットに対して論理演算を実行します。 ^^演算子はありませんが、この演算は "xor"または "exclusive or"です。あなたは "a xor b"を "aまたはbだが両方ではない"と考えることができます。

+0

シフト演算子とは別に完全性のために、これらはブール演算子でも動作します(ビット演算子でもビット演算子でなくてもかまいません - (&AFAIKではなく)Visual Basicにありますが、 '&&'と '||'は '&&'と '||'と異なり、両方のオペランドが常に評価されます。/'||'のバージョンでは、式afの値を変更できない場合、第2オペランドは評価されません最初のオペランドが評価されました。 –

2

これは非常に初心者のためのものを簡単にするための試みです。あなたは二進法(2桁の数字で構成)に精通する必要が

前提条件

。あなたがいない場合は、まずこのリンクを確認してください:https://www.mathsisfun.com/binary-number-system.html。以前のリンクが破損した場合に備えて、この回答は少し役に立ちます。https://stackoverflow.com/a/32155850/1636522

実際、これらの演算子がどのように機能するかを理解するには、演算に含まれるビットシーケンスの後ろにあるビットシーケンスを知る必要があります。その後、次のことを理解できるはずです。

リマインダー

桁とそのバイナリ表記:

0 0 | 5 101 
1 1 | 6 110 
2 10 | 7 111 
3 11 | 8 1000 
4 100 | 9 1001 

>>>>><<は何をしますか?

これらの演算子は、ビットシーケンスを左または右にシフトします。

decimal | binary  decimal | binary 
---------|--------- ---------|--------- 
     9 | 1001   2 |  10 
    >> 2 | >> 2  << 2 | << 2 
    = 2 | = 10   = 8 | = 1000 

&|^は何をしますか?

これらの演算子は、2つの数値のビットを結合して新しい数値を作成します。

decimal | binary  decimal | binary  decimal | binary 
---------|-------- ---------|-------- ---------|-------- 
     5 | 101   5 | 101   5 | 101 
    & 6 | & 110   | 6 | | 110  ^6 |^110 
    = 4 | = 100   = 7 | = 111   = 3 | = 011 

どう&動作しますか?ビットの各対について

:2つのビットの少なくとも一方が0である場合、結果として得られるビットは、2ビットのいずれもが0でない場合、結果として得られるビットが1

101 bit 3 | bit 2 | bit 1 
& 110 -------|-------|------- 
= 100  1 | 0 | 1 
      & | & | & 
      1 | 1 | 0 
      = | = | = 
      1 | 0 | 0 

が0であります|はどのように機能しますか?ビットの各対について

:2つのビットの少なくとも一方が1である場合、結果として得られるビットは、2ビットのいずれも1でない場合、結果として得られるビットは0

101 bit 3 | bit 2 | bit 1 
| 110 -------|-------|------- 
= 111  1 | 0 | 1 
      | | | | | 
      1 | 1 | 0 
      = | = | = 
      1 | 1 | 1 

ある1です。 ^はどのように機能しますか?ビットの各対について

:2つのビットが異なる場合、結果として得られるビットが1の2ビットが同じである場合、結果として得られるビットは0

101 bit 3 | bit 2 | bit 1 
^ 110 -------|-------|------- 
= 011  1 | 0 | 1 
     ^ | ^ | ^
      1 | 1 | 0 
      = | = | = 
      0 | 1 | 1 
関連する問題