C/C++における「ビットアンド」演算によるパリティの検討

513 ワード

&ビット別と対応する2つのバイナリビットが1の場合、そのビットの結果値は1、そうでない場合は0
int fun(int n)
{
      return  (n&1);       //  1    ,0    。  
}

ビット対の演算規則による、2つの対応するバイナリビットがいずれも1である場合、変更された結果値は1であり、そうでない場合は0である.n&1は、nが奇数か偶数かを決定する最後のバイナリビットにある.すなわち、nと1がビット演算を行うnが何ビットであっても、最後のビットが1であれば、最後のビットが1であれば、nが必ず奇数(2 k+...+1が奇数)であることを意味し、このとき1とビット演算を行う戻り値は1である.それ以外の場合、戻り値は0であり、nは偶数であることを示す.ビット演算は%演算よりも速く,ビットと演算を用いてパリティを判断することを学ぶ.
要するに、n&1の戻り値が1であればnが奇数、戻り値が0であればnが偶数であることを覚えておいてください.