2進数、10進数、16進数の数値表現体系
メニューを表示するにはスワイプしてください
ブロックチェーンおよびコンピューティングの分野において、数値表現体系(主に2進法、10進法、16進法)の理解は基本事項。
10進法
10進法(デシマルシステム、基数10)は、日常的に使用される数値体系であり、0から9までの10個の数字を使用。ブロックチェーンの仕組み自体で直接使われることはないが、値を解釈する際に用いられる体系。
2進法
2進法(バイナリシステム、基数2)は、コンピュータの基本言語であり、0と1の2つの数字で値を表現。2進数の各桁はビットと呼ばれ、情報の基本単位。例えば、数値4は2進法で100となる。
ただし、コンピュータのメモリでは、整数に必要なビット数を事前に決めておく必要がある。例えば、整数に8ビット(1バイト)を割り当てる場合、整数は常に8桁で表現され、すべての桁を使い切らなくても8桁となる。数値4は次のように表される:00000100。
0から4までの10進数を8ビット(1バイト)整数として2進法で表現すると次の通り。
16進数システム
16進数システム(または基数16)は、10進数システムを拡張し、16個の記号:0から9、続いてaからf(a = 10、b = 11、...、f = 15)を使用します。さらに、16進数はしばしば0xで接頭辞が付けられます。コンピューティング分野では、16進数はバイナリで符号化された値をより人間にとって分かりやすい形で表現します。
特に大きな数値の場合、バイナリよりもコンパクトで一目で理解しやすい特徴があります。例えば、Bitcoinのブロックヘッダーは16進数で保存されますが、処理はバイナリで行われます。
上記の表を拡張し、1バイト整数(0から15)の16進数表現を示します:
16進数と同様に、2進数も時折0bで接頭辞が付けられます。
2つの16進数文字は1バイト(8ビット)を表します。
2進数と10進数の変換
2進数を10進数に変換するには、各ビットを右から左へ位置を2から始めて0のべき乗で掛け算し、その結果を合計します。以下は例です:
2進数: 1101
10進数: 1∗23+1∗22+0∗21+1∗20=8+4+0+1=13
10進数を2進数に変換するには、数値を2で割り、余りを書き留めます。商が0になるまで2で割り続けます。2進数は余りを逆順に読んだものです。
例を見てみましょう:
10進数: 13
2進数: 1101 (13を2で割ると商6余り1、6を2で割ると商3余り0、3を2で割ると商1余り1、1を2で割ると商0余り1)
16進数と10進数の変換
16進数を10進数に変換するには、各16進数の桁を10進数に変換し、2進数の場合と同様に、各桁を その位置(右から左へ、最初は16)の 0 のべき乗で掛け算し、合計を求める。
16進数: 1A3
10進数: 1∗162+10∗161+3∗160=256+160+3=419
10進数を16進数に変換するには、数値を16で割り、余りを書き留める。商を16で割り続け、商がゼロになるまで繰り返す。16進数は余りを逆順に読んだものとなる。
10進数: 419
16進数: 1A3(419を16で割ると商26余り3、26を16で割ると商1余り10、10は16進数で'A')
2進数/16進数の変換
2進数から16進数、またはその逆に変換するには、まず10進数に変換し、その後10進数から目的の記数法に変換する方法がある。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください