devlights
10/7/2016 - 7:39 AM

10進数から2進数へ

10進数から2進数へ

// http://www.asahi-net.or.jp/~ax2s-kmtn/ref/bdh.html 参照
//
// 10進数から2進数へ変換するには、10進数を2で割って
// その商をさらに2で割る、またその商を2で割って…と、余りを出しながら商が0になるまで繰り返します。
// そして最後の余りを先頭に下から順に並べます。
int target = 3;

var lists = new List<int>();
int div = target;
while (true)
{
    var mod = div % 2;
    div = div / 2;
    
    lists.Add(mod);
    
    if (div == 0)
    {
        break;
    }
}

lists.Reverse();
lists.Dump();