コンピュータにおけるビットとは何か【後編】
「bit=0か1」「Byte=8bit」 コンピュータが動く“基本のき”
コンピュータの基本を語る上で欠かせない「ビット」と「バイト」。この2つの単位の違いや役割を正確に理解している人は意外と少ない。ビットとバイトの仕組みや数値との関係などを解説する。
コンピュータの基本構造を理解するには、「ビット」(bit)と「バイト」(Byte)の違いを知ることが欠かせない。情報は0と1から成る「ビット」の列として扱われ、その集まりである「バイト」が文字や数値を表現する最小単位になる。
「ビット=0か1の単位」「バイト=8bit」という基本を知っていても、実際にどのように数値や文字が表現されているかまでは理解していない人は少なくないだろう。そこで本稿では、ビットとバイトの仕組み、数値や文字との対応関係、そしてそれを支える2進数の基本構造までを解説する。
ビット(bit)とバイト(Byte)
コンピュータは、ビット単位でデータを検証・操作できるが、多くのシステムはバイト単位でデータを処理・格納する。バイトは通常、8個のビットが連続して構成された単位で、文字や数値、命令といった情報を扱う上での最小単位となる。
もっとも、「1バイト=8bit」という定義は現在の主流ではあるが、全てのシステムでそうだったわけではない。過去の一部のコンピュータアーキテクチャやデータフォーマットでは、1バイトを6bitまたは9bitで構成していた例もある。
コンピュータのメモリやストレージへの参照は、常にバイト単位で行われる。例えば、ストレージデバイスの容量が1TB(テラバイト)であれば、おおよそ100万MB(メガバイト)に相当する。さらに、1MBはおよそ100万バイトであり、これは800万bitに等しい。したがって、1TBのドライブには約1兆バイト、あるいは約8兆bitのデータを格納できる計算となる。
「オクテット」(octet)という用語は、バイトと同じく8bitの単位を指す言葉として使われることがあるが、現代ではバイトの方が一般的だ。「ニブル」(nibble)という用語が4bitの単位を表す際に使われることもあるが、これもあまり一般的ではない。
一方で、「ワード」(word)は2バイト(16bit)以上の連続するビット列を表す用語として広く使われている。ワードの長さはアーキテクチャによって異なり、通常は16bit、32bit、あるいは64bitだ。
併せて読みたいお薦め記事
連載:コンピュータにおけるビットとは何か
コンピュータを動かす基本の仕組み
ビットの仕組み
バイトを構成する各ビットには、それぞれ固有の値(重み)が割り当てられている。これはビットの位置に基づいており、通常は右端を最下位ビット(LSB)、左端を最上位ビット(MSB)と呼ぶ。
バイト内のビットは右から左に向かって並び、それぞれに「2の累乗」に基づいた値(重み)が割り当てられている。最も右側のビットは「2の0乗」に相当し、その値は1。次のビットは「2の1乗」で2、その次は「2の2乗」で4というように、左に進むごとに値は2倍になっていく。この仕組みにより、ビットの組み合わせによって数値を表現できるようになっている。
バイト内の各ビットには特定の値が割り当てられ、これは位(位置)と呼ばれる。位は右から左のパターンで各ビットに割り当てられ、1から始まって各ビットに対して値を2倍にして増加させる。以下の表で説明されている通りだ。
| ビット位置(右から左) | 位(位置) |
|---|---|
| ビット1 | 1 |
| ビット2 | 2 |
| ビット3 | 4 |
| ビット4 | 8 |
| ビット5 | 16 |
| ビット6 | 32 |
| ビット7 | 64 |
| ビット8 | 128 |
ビットの位は、バイト全体としての意味や数値を決定するために用いられる。各ビットは、その位に応じた重みを持ち、「1」であるビットの重みを合計することで、バイトの値が決まる。
一方、ビットの値が「0」である場合、そのビットが担当する桁の値は合計に含まれない。こうして各ビットの値を足し合わせて得られた数値は、「ASCII」などの文字コードにおいて、特定の文字に対応する数値となる。ASCIIコードは、コンピュータ上で文字を扱うために広く使われている文字セットで、10進の数字(0~9)、英字の大文字(A~Z)と小文字(a~z)、さらに「%」「&」といった一部の記号などを表現できる。
8bitの特定の組み合わせとしての単一のバイトは、00000000バイトから始まり11111111バイトで終わる最大256通りの一意な文字を表すことができる。ビットパターンのさまざまな組み合わせは0から255の範囲を提供し、これはバイトが最大256の一意なビットパターン(最大256の可能な組み合わせを情報伝達に使用できる)を表すことができることを意味する。
例えば、ASCII 文字セットにおける大文字「S」には10進値83が割り当てられ、これはバイナリ01010011に相当する。図はSのバイトと各ビットの対応する位を示している。これは4つの1bitと4つの0bitを含む。合計すると、1bitに関連付けられた位の合計は83となり、これはASCIIの大文字Sに割り当てられた10進値に対応する。
小文字のsは大文字のSとは異なる10進値とバイナリを持つ。小文字sの10進値は115だ。バイト単位では、その値は01110011となる。
8bitのバイトはASCIIで最大256の一意な文字しか表すことができないため、より多くの文字を表現するために他の文字セットが開発された。これらの文字セットは文字当たり複数のバイトを使用する。その一つがUnicode Transformation Format(UTF)文字セットで、文字当たり1から4バイトを使用する。
このように文字セットの仕様が異なっていても、1バイトが8bitで構成され、各ビットは「0」または「1」の状態を取るという基本構造は共通している。
2進数とは何か
2進数とは、0と1の2種類の数字のみを用いて数値を表現する方式だ。これは、電気のオン/オフといった2つの状態で情報を処理するコンピュータに適した表記法であり、あらゆる数値やデータを0と1の組み合わせとして表現できる。
例えば、10進数の「1」は2進数で1、10進数の「11」は2進数で1011と表される。各桁は右から左に向かって、2の0乗、2の1乗、2の2乗といったように2のべき乗の値を持ち、それらの合計によって10進数の値が決まる。2進数は数字0と1を表現するために2つのビットのみを使用するため、これらのビットのさまざまな組み合わせが異なる数を表現するために使用される。例えば、10進数の1は001と表現され、11は1011と表現される。
バイナリでは、以下のようなさまざまな演算を実行することができる。
- バイナリ加算
- バイナリ減算
- バイナリ乗算
- バイナリ除算
バイナリは、数値を表現するために2つの一意な数字(0と1)を用いる表記法であり、基数が2の数体系として「2進数」とも呼ばれる。この2進数は、現代の電子システムやコンピューティングの基礎をなす重要な概念となっている。電子回路や論理ゲートだけでなく、プログラミング言語、モバイル端末、ストレージデバイス、組み込み機器、暗号化アルゴリズムなども、すべて2進数を基盤として設計されている。IP(インターネットプロトコル)においても、データパケットのルーティングにこの2進数システムが利用されている。
2進数の利点の一つは、扱う値が「0」と「1」の2種類のみで済むという点にある。これにより、デジタルシステムにおける回路設計の単純化、処理の高速化、装置間の互換性向上といった効果が得られる。
バイナリは構造が単純であるにもかかわらず、基本的なビット列から複雑なデジタル信号やデータ構造まで、多様な情報の表現に利用できる柔軟性を持つ。なお、2進数以外にも、以下のような他のn進数(基数をnとする数体系)が存在する。
- 8進数(基数8)
- 10進数(基数10)
- 16進数(基数16)
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 世界のインサイト&ベストプラクティス
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
市場調査・トレンド
[AvePoint Japan株式会社] SCS評価制度の死角は“SaaSの中” クラウド標準機能では届かない領域とは? -
製品資料
[デジタルサーカス株式会社] 5分で分かる、「オープンソースCMS」比較ガイド -
製品資料
[デジタルサーカス株式会社] 1つのアプリを各国で運用 多言語モバイルアプリを簡単に開発・導入できる方法 -
製品資料
[ニュータニックス・ジャパン合同会社] 複雑化するKubernetes運用、VMとコンテナの二重管理を解消する方法は? -
市場調査・トレンド
[アルプス システム インテグレーション株式会社] 急増する高度なフィッシング詐欺 先回りしてブロックするには何が必要?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
PHPはそもそも必要か? 脆弱性で問われる自社サイト安全性と保守負担のバランス
-
2
京王電鉄・東京メトロの被害から学ぶ境界防衛 ITの侵害はどこまで波及するか
-
3
「AIの粗悪レポート」で悲鳴 IntelやGoogleがバグ報奨金を止めた理由
-
4
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
5
シャトレーゼを悩ませる偽メール 混乱なしでBIMI導入とDMARC強化を実現した方法
-
6
「年1回の外部診断」が限界に 大手小売が脆弱性管理を内製化・一元化した方法
-
7
PHP2Shellの「事前の情報流出」でパニックに パッチ公開を巡る“混乱劇”
-
8
「セキュリティ運用と侵入後の初動防御」に関するアンケート
-
9
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
10
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
5
「IT史に名を残すシステム障害」8選
-
6
「EDR」選定ガイド:比較・検討フェーズで整理すべきポイントを解説
-
7
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
MDMだけでは防げない? Appleデバイスに潜む5つのセキュリティギャップ
-
10
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー