10進数→2進数変換ツールとは?
このツールは、私たちが日常的に使っている10進数(基数10)を、コンピューターが内部で扱う2進数(基数2)に変換します。2進数は「0」と「1」の2つの数字だけを使い、各桁が2のべき乗を表します。この変換は世界共通のしくみなので、どの国でも、0以上のどんな整数でも同じように使えます。
使い方
0以上の整数(例:156)を入力して実行するだけ。対応する2進数の文字列と、それが何ビット(2進数の桁数)になるかが表示されます。負の数は0として扱われ、小数は切り捨てて整数に変換されます。
計算のしくみ
定番の方法が「2で繰り返し割る」やり方です。まず数を2で割って余り(0か1)を記録します。次に商を新しい数として、商が0になるまで同じ手順を繰り返します。記録した余りを下から上へ(最後に出た余りから最初へ)順に読むと、2進数の表記が得られます。
$$\text{Binary} = \sum_{i=0}^{k-1} b_i \cdot 2^{i}, \quad b_i = \left\lfloor \frac{\text{Decimal}}{2^{i}} \right\rfloor \bmod 2$$
計算例
156を変換してみましょう。\(156 \div 2 = 78\) 余り0、\(78 \div 2 = 39\) 余り0、\(39 \div 2 = 19\) 余り1、\(19 \div 2 = 9\) 余り1、\(9 \div 2 = 4\) 余り1、\(4 \div 2 = 2\) 余り0、\(2 \div 2 = 1\) 余り0、\(1 \div 2 = 0\) 余り1。余りを下から上へ並べると 10011100。つまり10進数の156は、2進数では 10011100(8ビット)になります。
よくある質問
0は2進数でどう表す? そのまま「0」です。
1つの数には何ビット必要? ビット数は2進数の桁数と同じです。たとえば156なら8ビットが必要です。
負の数も変換できる? このツールは0以上の整数に対応しており、負の入力は0として扱います。実際のコンピューターでは、負の数を「2の補数」で表現します。