またしつこいけれど
また来たよビット演算子、とりあえず理解しにくい箇所なのでがっつりやりますよ。
大まかなことは他の記事から引用したいと思うのでリンクとして代用します。
http://d.hatena.ne.jp/mashita_07_15/20091022/1256223223:ビット演算がようやく理解できた]
http://d.hatena.ne.jp/mashita_07_15/20091024/1256389738:or演算子の動作]
上二つの記事はどっちもJavaでの例ですがさほど差異がないので良しとしましょう、今回は
「ビットをスイッチとして扱いましょう」
ビットは「0と1」から構成されるので、それをなんかのスイッチとして使えないか考えてみました。
この「スイッチ」という言葉もJavaでビット演算に引っ掛かってた時あるSNSの知人より教えてもらったことです。
まだやってない、ifもやってみたいと思います
#include <stdio.h>int main(void){
int nom = 8 ;
int c_nom = nom&1 ;
if(c_nom == 0){
printf("%dは偶数です\n",nom) ;
}else{
printf("%dは奇数です\n",nom) ;
}
}
これはJavaでもやった偶数と奇数の判別です、and演算を用いて判別しています。
もっとも、やっている基準は
「その数値の1ビット目が0であるか?」
なんですがね、偶数だと大体この前の2ビット目で終わるのですが奇数だと1まで残るんだよねぇ。
だから判断できますよぉ、or演算子もやりますよ