アットウィキロゴ

雑多


ビットシフトの定数でif文を使わない


static const int LEFT = 1 << 0;
static const int RIGHT = 1 << 1;
static const int HCENTER = 1 << 2;

この様な定数を使用する場合if文やswitch文で処理を分岐させているが合によっては使わなくても分岐を行うことが出来る。
ビットシフトで定数を宣言する場合に値は全て2の階乗となるため指数を取り出しindexとして使用することで必要な物を取り出すことができる。
プログラムで指数を取り出したい場合下記の様な式になる。

指数 = log(乗数を調べたい値) / log(底の値)


最終更新:2013年03月31日 16:37