下記のように処理することで特定のビットの値を調べることが可能です。合格しているかどうかを確認する」場合は下記のように記述します。0;}表示結果は下記の通りです。このような複数の条件を満たすかどうかは下記のように処理することで調べることができます。合格しているかどうかを確認する」場合は下記のように記述します。0;}表示結果は下記の通りです。関数で表示することが可能ですが、C言語では2進数表示する標準関数はありません。2進数表示は「特定の1つのビットの値を調べる」を応用することで簡単に実現することが可能です。表示していけば良いだけです。入力値(char型)を2進数で表示する関数は下記の通りです。printf("\n");}ポイントは下記の部分になります。する演算」になります。値を取得することが可能です。値を表示することができます。偶数・奇数を判定するビット演算を行わない場合は下記のように判定するのが一般的だと思います。演算により行うことが可能です。偶数と奇数の数字では第0ビットな値が必ず下記のようになります。“1”したがって第0ビットの値を調べてやれば偶数か奇数かを判定することができます。演算を用いれば良いです。演算を用いた「偶数・奇数の判定を行う」プログラム例は下記なようになります。0;}表示結果は下記の通りです。aは奇数ですbは偶数です2のべき乗の掛け算・割り算を行う2のべき乗の掛け算は左シフト演算、2のべき乗の割り算は右シフト演算でそれぞれ実行可能です。ある整数をXビット分左シフトすると、「2のX乗」倍した値が得られます。ある整数をYビット分右シフトすると、「2のX乗」分の1した値が得られます。ちなみに余りが出た場合は切り捨てが行われます。左シフトと右シフトを用いて2のべき乗の掛け算・割り算を行うプログラム例は下記の通りです。0;}表示結果は下記の通りです。0b11110011まず見ていただきたいのが10進数の表示結果です。次に注目していただきたいのは符号ありに対する2進数の表示結果です。「符号あり」によって、シフトにより空いてしまったビットに格納される値が下記のように動きが異なります。格納されている事が確認できると思います。「符号あり」でも「符号なし」と同じ動きであれば、3ビット右シフト結果は下記のようになってしまいます。1/8した結果と合いませんね。右シフトではシフト時に「2のX乗」分の1の計算ができるように、符号ありと符号なしとで動きを変えられているのです。2進数だけに注目すると動きが異なるので分かりにくいのですが、右シフトで「符号なし」と「符号あり」とで動きが異なる事でこのようなメリットがあるんです。演算を行う事で調べる事が可能です。これはプログラムの高速化でも紹介した方法ですね。2進数で表示すると下記のようになります。場合、その数は必ず8の倍数にはなりません。場合はどんな数でも8の倍数になります。限った話ではなく、「2のX乗」の値全てに対して言える事です。あるかどうかで判定する事ができます。ある値が2のべき乗の倍数であるかどうかを調べるプログラムは下記のようになります。0;}表示結果は下記のようになります。valueAは64の倍数ではありませんvalueBは64の倍数ですまとめこのページではビット演算について解説しました。ビット演算を用いることによりプログラムの省メモリ化や高速化が可能です。組み込み製品向けのプログラミングを行なったり、よりC言語の特徴を活かすためにはビット演算の知識は必須になります。この機会にビット演算というものがあること、C言語でビット演算を行う方法をマスターしてみてください!このビット演算・論理演算を用いた四則演算の実現方法の解説ページを作成しました。ビット演算・論理演算の理解がさらに深まりますので是非読んでみてください。コメントをキャンセルメールアドレスが公開されることはありません。次の記事C言語入門者向け!オススメ参考書籍8選を紹介プライバシーポリシーだえうホームページのプライバシーポリシー・免責事項についてはこちらに記載しております。