二進数(2進法)— 定義、構造、歴史、用途
二進法は0と1の二つの数字を用いる数体系です。位取りの仕組み、歴史的な発展、変換例、コンピュータやデジタルシステムにおける中心的な役割を解説します。
概要
二進数の数体系は、0と1という二つの記号だけで数を表す位取り記数法である。各桁が取り得る値は二通りであるため、二進法、すなわち2を底とする数体系と呼ばれる。この体系は現代のデジタル電子工学とコンピュータ・アーキテクチャの基盤であり、二進数字は一般に「オフ」と「オン」と理解される二つの物理的状態に対応する。主題の概説については、二進数を参照。
画像ギャラリー
5 画像構造と位の値
二進数は、ビットと呼ばれる桁で表記される。位取り式の二進法では、最も右のビットの位の値は2^0 = 1であり、その左隣は2^1 = 2、次は2^2 = 4と続く。有限の二進文字列が表す整数値を求めるには、各ビットにその位の値を掛け、結果を合計する。たとえば、二進文字列10110011は次のように展開できる。
- 1 × 2^7 = 128
- 0 × 2^6 = 0
- 1 × 2^5 = 32
- 1 × 2^4 = 16
- 0 × 2^3 = 0
- 0 × 2^2 = 0
- 1 × 2^1 = 2
- 1 × 2^0 = 1
これらを合計すると、128 + 32 + 16 + 2 + 1 = 179となり、十進法では179である。読みやすくするため、ビットはしばしばニブル(4ビット)やバイト(8ビット)に区切られる。例の10110011は1011 0011と表せ、それぞれのニブルは十六進数の1桁に直接対応するため、この区切りは0xB3となる。位の値という考え方については位取りを、ハードウェアで二進数がデータを表現する方法についてはコンピュータを参照。
歴史と発展
二つの状態で情報を表すという考え方には古代からの類例があり、位取り式の二進法は近世初期に西洋数学で形式化された。ゴットフリート・ヴィルヘルム・ライプニッツは、17世紀に現代的な二進表記を発展させ、広めた人物として広く知られ、それを記号論理学と結び付けた。その後、二進演算とブール代数の形式的な関係が明らかになり、二進法は電子的なスイッチング装置と計算機の自然な言語となった。
用途、例、重要性
二進法は、物理層のトランジスタ、磁区、光パルスから、データ記憶におけるビットとバイト、プロセッサの命令符号化、通信プロトコルまで、コンピューティングの多くの階層で用いられている。二進法で行われる代表的な演算には、加算、減算(符号付きの値には二の補数がしばしば使われる)、ビット単位の論理演算(AND、OR、XOR、NOT)、シフトがある。二進法は単純であるため、信頼性の高いハードウェア設計と、効率的な誤り検出・訂正技術を可能にする。
一般的な単位と表現
- ビット:0または1の一つの二進数字。
- ニブル:4ビットから成るまとまり。十六進数へ変換する際、分かりやすく表記するために使われることが多い。
- バイト:8ビットから成るまとまり。多くのコンピュータシステムにおける基本的なアドレス指定可能単位。バイトも参照。
- ワード:アーキテクチャに依存するビットのまとまり(例:16、32、64ビット)。
主な事実と区別
二進法は、基数と使用する記号の数において十進法(10進法)と異なる。人間は一般に十進法を使う一方、二進法は二つの安定した物理状態を実装する装置により適している。十六進表記と八進表記は、ビットをそれぞれ1桁当たり4ビットと3ビットでまとめることで、二進データを簡潔かつ人間に扱いやすく表す方法である。二進法を学ぶ際には、一般的な変換、二の補数などの符号付き数値の符号化、基本的なビット単位演算も学ぶとよい。これらの概念は、プログラミング、ネットワーク、ハードウェア設計で繰り返し用いられる。コンピュータハードウェアにおける実装や標準についてさらに調べるには、コンピュータサイエンスの参考資料など、教育・産業分野で利用できる信頼性の高い技術資料や仕様書を参照する。
関連項目
著者
AlegsaOnline.com 二進数(2進法)— 定義、構造、歴史、用途 Leandro Alegsa
URL: https://ja.alegsaonline.com/art/11583