devlights
10/7/2016 - 7:42 AM

C#のビット計算の仕方

C#のビット計算の仕方

// 左シフト
Enumerable.Range(1, 20).ToList().ForEach (x => (1 << x).Dump());
Enumerable.Range(1, 20).ToList().ForEach (x => Convert.ToString((1 << x), 2).PadLeft(32, '0').Dump());

int i = 15; // 1111
int and = 12; // 1100
int and2 = 3; // 0011

// 上2ビットの取得
Convert.ToString((i & and), 2).PadLeft(4, '0').Dump();
// 下2ビットの取得
Convert.ToString((i & and2), 2).PadLeft(4, '0').Dump();