2013年3月17日日曜日

int型について考える

int型について考えます。
int型と言えば"整数型"ですが、整数の表現は様々なものがあります。
以下、その表現方法です。
  • 123      // 正の整数
  • -123     // 負の整数
  • 0b1011 // 2進数(先頭に"0b"をつける)
  • 0123    // 8進数(先頭に"0"をつける)
  • 0x123  // 16進数(先頭に"0x"をつける)
いかがでしょうか。一概に整数と言っても表現方法は様々ですね。

皆さんは普段は10進数しか使わないのではないでしょうか。
ここで一つ、2進数の有用な使い方をご紹介します。

以下、2つのサンプルコードをご覧ください。

サンプルコード
実行結果
FLAG1
FLAG3
FLAG5
サンプルコード 実行結果
FLAG1
FLAG3
FLAG5
と、このように5つの変数に分けて持っていたフラグが一つの変数にまとまりました。
結局フラグ比較する時に特定の2進数と比較しないといけないため複雑になっている気もしますが…。
このような扱い方もあります。という程度の紹介でした。
忘れずにベンチマークです。

サンプルコード 実行結果
BenchMark 1     average:0.0023561954498291
BenchMark 2     average:0.0024597406387329
可読性の問題もありますし素直に複数の変数にフラグを持ったほうがいいですね。

0 件のコメント:

コメントを投稿