ビットは、コンピューティングとデジタル通信における最も基本的な情報単位です。この名前は、2進数を組み合わせた造語です。 [1]ビットは、2つの可能な値のいずれかを持つ論理状態を表します。これらの値は、最も一般的には「1」または「0」のいずれかで表されますが、真/偽、はい/いいえ、オン/オフ、+ / -などの他の表現も広く使用されています。
これらの値と基礎となるストレージまたはデバイスの物理的な状態との関係は慣例の問題であり、同じデバイスまたはプログラム内でも異なる割り当てが使用される場合があります。物理的には 2 状態デバイスで実装される場合があります。
連続した2進数のグループは、一般的にビット列、ビットベクトル、または1次元(または多次元)ビット配列と呼ばれます。8ビットのグループは1 バイトと呼ばれますが、歴史的にはバイトのサイズは厳密に定義されていません。[2]多くの場合、ハーフワード、フルワード、ダブルワード、クアドラプルワードは、2の小さいべき乗であるバイト数で構成されます。4ビットの文字列は通常、ニブルです。
情報理論では、1ビットは、等確率で0か1になるランダムな2進変数の情報エントロピー[3]、またはそのような変数の値が判明したときに得られる情報である。[4] [5]情報またはネゲントロピーの単位として、ビットはクロード・E・シャノンにちなんでシャノン[6]とも呼ばれる。0-1(2進)アルファベット上の記号としてエンコードされたデジタル文字列の長さの尺度として、ビットはビニット[7]と呼ばれてきたが、この用法は現在ではまれである。[8]
データ圧縮では、文字列の表現を短くして、保存に必要なビット数を減らすことが目標ですが、保存する前に「圧縮」し、計算に使用する前に (通常は)「解凍」する必要があります。アルゴリズム情報理論の分野では、文字列の「縮小不可能な情報量」(つまり、ビット単位での可能な限り短い表現長) の研究が行われており、受信者は文字列の圧縮方法について 最小限の事前知識しか持っていないという仮定に基づいています。
2 進数の記号は、IEC 80000-13 :2008 規格では「ビット」、IEEE 1541-2002規格では小文字の「b」です。後者を使用すると、バイトの国際標準記号である大文字の「B」と混同される可能性があります。
歴史
ラルフ・ハートリーは1928年に情報の対数測定法の使用を提案した。[9] クロード・E・シャノンは1948年の画期的な論文「通信の数学的理論」で初めて「ビット」という言葉を使用した。 [10] [11] [12]彼はその語源を、1947年1月9日のベル研究所のメモで「2進情報桁」を単に「ビット」と省略したジョン・W・テューキーにあるとした。[10]
物理的な表現
ビットは、2 つの異なる状態のいずれかで存在するデジタル デバイスまたはその他の物理システムによって保存できます。これらの状態には、フリップフロップの 2 つの安定状態、電気スイッチの 2 つの位置、回路で許可される2 つの異なる電圧または電流レベル、光の強度の 2 つの異なるレベル、磁化または分極の 2 つの方向、可逆的な二本鎖DNAの方向などがあります。
おそらくバイナリ記憶装置の最も古い例は、バジル・ブションとジャン=バティスト・ファルコン(1732年)によって発明され、ジョセフ・マリー・ジャカール(1804年)によって開発され、後にセミヨン・コルサコフ、チャールズ・バベッジ、ハーマン・ホレリス、そしてIBMのような初期のコンピュータ製造業者によって採用されたパンチカードである。そのアイデアの派生が、穴あき紙テープである。これらすべてのシステムでは、媒体(カードまたはテープ)は概念的に穴の位置の配列を保持し、各位置は穴が開いているか開いていないかであり、したがって1ビットの情報を保持していた。ビットによるテキストのエンコードは、モールス信号(1844年)や、テレタイプや株価表示機(1870年)などの初期のデジタル通信機器でも使用されていた。
離散論理の最初の電気機器 (エレベーターや信号機の制御回路、電話交換機、コンラート・ツーゼのコンピュータなど) は、ビットを電気リレーの「開」または「閉」の状態として表しました。1940 年代にリレーが真空管に置き換えられると、コンピュータ製造業者は、水銀遅延線を伝わる圧力パルス、ブラウン管の内面に蓄えられた電荷、フォトリソグラフィー技術によってガラス ディスクに印刷された不透明な点など、さまざまな記憶方法を試しました。
1950年代から1960年代にかけて、これらの方法は、磁気コアメモリ、磁気テープ、ドラム、ディスクなどの磁気記憶装置に大きく取って代わられました。これらの磁気記憶装置では、ビットは強磁性フィルムの特定の領域の磁化の極性、またはある方向から他の方向への極性の変化によって表されました。同じ原理は、後に1980年代に開発された磁気バブルメモリで使用され、地下鉄の切符や一部のクレジットカードなど、さまざまな磁気テープ製品に今でも使用されています。
ダイナミックランダムアクセスメモリやソリッドステートドライブなどの現代の半導体メモリでは、ビットの2つの値は、コンデンサまたはフローティングゲートMOSFETに保存された2つの電荷レベルによって表されます。特定の種類のプログラマブルロジックアレイと読み取り専用メモリでは、ビットは回路の特定のポイントでの導電パスの有無によって表される場合があります。光ディスクでは、ビットは反射面上の微細なピットの有無としてエンコードされます。1次元バーコードと2次元QRコードでは、ビットは黒または白の線または四角形としてエンコードされます。
現代のデジタルコンピューティングでは、ビットはブール論理ゲートで変換されます。
送信と処理
シリアル伝送では、ビットは 1 つずつ送信されます。対照的に、パラレル伝送では複数のビットが同時に送信されます。シリアル コンピュータは、ビット シリアルまたはバイト シリアルのいずれかの形式で情報を処理します。データ通信の観点から見ると、バイト シリアル伝送は、バイナリ信号による 8 方向パラレル伝送です。
Cなどのプログラミング言語では、ビット演算はバイナリ文字列をバイナリ数値として解釈するのではなく、ビットのベクトルであるかのように操作します。
データ転送速度は通常、10 進 SI 倍数で測定されます。たとえば、チャネル容量は8 kbit/s = 8 kb/s = 1 kB/s と指定されます。
ストレージ
ファイルサイズは、多くの場合、1 KiB = 1024バイト = 8192ビットなど、(2進数の)IECバイト倍数で測定されます。歴史的な理由により、ファイルサイズが、IEC標準の接頭辞Ki、Mi、Giではなく、あいまいな接頭辞K、M、Gを使用して2進数の乗数で指定される場合、混乱が生じる可能性があります。[13]
大容量ストレージデバイスは通常、1 TB =バイト など、10 進 SI 倍数で測定されます。
紛らわしいことに、 DRAMチップなどの直接アドレス指定可能なメモリデバイス、またはメモリモジュール上のそのようなチップの集合体のストレージ容量は、2進数の倍数として指定され、IECが推奨するGi接頭辞ではなく、あいまいな接頭辞Gが使用されます。たとえば、「1GB」の容量を持つと指定(および宣伝)されているDRAMチップには、バイトの容量があります。2022年時点で、「8GB」の容量を持つメモリシステムに対する一般的な理解と、「8GB」のSIの正しい意味との間の違いは、依然としてソフトウェア設計者にとって困難を引き起こしていました。[14]
単位と記号
ビットは国際単位系(SI)では定義されていない。しかし、国際電気標準会議は規格IEC 60027を発行し、2進数の記号は「ビット」であり、キロビットの場合は「kbit」など、すべての倍数でこれを使用する必要があると規定している。[15]ただし、小文字の「b」も広く使用されており、IEEE 1541規格(2002)で推奨されています。対照的に、大文字の「B」はバイトの標準的で慣習的な記号です。
複数ビット
複数のビットは、いくつかの方法で表現および表わすことができます。情報技術では、一般的に繰り返し発生するビットのグループを表現する便宜上、伝統的にいくつかの情報単位が使用されてきました。最も一般的なのは、1956年6月にWerner Buchholzによって造られた単位バイトで、これは歴史的に、コンピュータでテキストの1文字をエンコードするために使用されるビットのグループを表すために使用されていました(UTF-8マルチバイトエンコードが引き継ぐまで) [2] [16] [17] [18] [19]この理由から、多くのコンピュータアーキテクチャで基本的なアドレス指定可能な要素として使用されました。1993年までに、ハードウェア設計の傾向は8ビットバイトに収束しました。[20] ただし、基礎となるハードウェア設計に依存することの曖昧さのため、単位オクテットが8ビットのシーケンスを明示的に示すように定義されました。
コンピュータは通常、固定サイズのグループ (慣例的に「ワード」と呼ばれます) でビットを操作します。バイトと同様に、ワード内のビット数もハードウェア設計によって異なり、通常は 8 ~ 80 ビットですが、一部の特殊なコンピュータではそれ以上のビット数になることもあります。21 世紀初頭、市販のパーソナル コンピュータやサーバー コンピュータのワード サイズは 32 ビットまたは 64 ビットです。
国際単位系では、ビットやバイトでも一般的に使用される、標準化された単位の倍数を表す一連の 10 進接頭辞が定義されています。キロ(10 3 ) からヨタ(10 24 )までの接頭辞は 1000 の倍数で増加し、対応する単位はキロビット(kbit) からヨタビット(Ybit) までです。
参照
- ボー – 電気通信におけるシンボルレート測定
- 2進数 – 2を基数とする数で表される数
- ビットレート – ビット/秒で表される情報伝送速度
- ビットストリーム – 2進数のシーケンス
- バイト – デジタル情報の単位。通常は8ビット
- エントロピー(情報理論) – 確率的データソースの出力を指定するために必要な情報の予想量
- 曖昧な部分
- 整数(コンピュータサイエンス) – 整数データ型のデータ
- ニブル – バイナリデータの4ビット単位
- プリミティブデータ型 – プログラミング言語によって提供される非常に基本的な/コアなデータ型
- 量子ビット – 量子情報の基本単位(量子ビット)
- シャノン(単位) – 情報の単位
- 三進法 – 3進法
- トリット(コンピューティング) - 3 進法(3 進数)
参考文献
- ^ Mackenzie, Charles E. (1980). Coded Character Sets, History and Development (PDF) . The Systems Programming Series (第 1 版). Addison-Wesley Publishing Company, Inc. p. x. ISBN 978-0-201-14460-4LCCN 77-90165。2016年5月26日時点のオリジナルよりアーカイブ(PDF )。2019年8月25日閲覧。
- ^ ab Bemer, Robert William (2000-08-08). 「なぜ 1 バイトは 8 ビットなのか? それともそうなのか?」。Computer History Vignettes。2017-04-03 にオリジナルからアーカイブ。2017-04-03に取得。
[…]
IBM
の
STRETCH
コンピュータを背景に、8 のグループに分割可能な 64 文字の単語を処理します (この文字セットは、 8 ビットのグループを表す「
バイト
」という用語を実際に考案した
Werner Buchholz
博士の指導の下で設計しました)。 […]
IBM 360 は
8 ビット文字を使用しましたが、ASCII を直接使用したわけではありませんでした。そのため、Buchholz の「バイト」はどこでも流行しました。私自身は、さまざまな理由でこの名前が好きではありませんでした。 […]
- ^ アンダーソン、ジョン・B.; ジョンネソン、ロルフ (2006)、情報伝達の理解
- ^ ヘイキン、サイモン(2006)、デジタルコミュニケーション
- ^ IEEE 規格 260.1-2004
- ^ 「Units: B」。2016年5月4日時点のオリジナルよりアーカイブ。
- ^ Breipohl, Arthur M. (1963-08-18). 適応型通信システム。ニューメキシコ大学。p. 7。2025年1月7日閲覧。
- ^ "binit". The Free Dictionary . 2025年1月7日閲覧。
- ^ アブラムソン、ノーマン(1963)。情報理論とコーディング。マグロウヒル。
- ^ ab Shannon, Claude Elwood (1948 年 7 月). 「通信の数学的理論」(PDF) . Bell System Technical Journal . 27 (3): 379– 423. doi :10.1002/j.1538-7305.1948.tb01338.x. hdl : 11858/00-001M-0000-002C-4314-2 . 1998-07-15 のオリジナル(PDF)からアーカイブ– Bell Labs Computing and Mathematical Sciences Research 経由。
対数の底の選択は、情報測定の単位の選択に対応します。底 2 が使用される場合、結果として得られる単位は 2 進数、または
JW Tukey
が提案した言葉である
ビット
と呼ばれることがあります。
- ^ シャノン、クロード・エルウッド( 1948年10月)。「通信の数学的理論」。ベルシステム技術ジャーナル。27 (4):623–666。doi:10.1002/j.1538-7305.1948.tb00917.x。hdl :11858/00-001M-0000-002C-4314-2。
- ^ シャノン、クロード・エルウッド、ウィーバー、ウォーレン(1949)。コミュニケーションの数学的理論(PDF)。イリノイ大学出版局。ISBN 0-252-72548-41998 年 7 月 15 日のオリジナル(PDF)からアーカイブ– Bell Labs Computing and Mathematical Sciences Research 経由。
- ^ 「UnitsPolicy - Ubuntu Wiki」。2025年1月7日閲覧。
- ^ 「VM メモリ入力に MB/GB/TB サフィックスを使用する」。Github Netbox コミュニティ。2022 年。2025 年 1 月 8 日閲覧。
- ^ アメリカ国立標準技術研究所 (2008)、国際単位系の使用ガイド。オンライン版。2016年6月3日アーカイブ、Wayback Machine
- ^ Buchholz, Werner (1956-06-11). 「7. シフト マトリックス」(PDF) .リンク システム. IBM . pp. 5– 6.ストレッチメモ No. 39G. 2017-04-04 にオリジナルからアーカイブ(PDF)されました。2016-04-04に取得。
[…] 編集の観点から最も重要なのは、1 ビットから 6 ビットの長さの任意の文字または数字を処理できることです […] シフト マトリックスは
、メモリから並列に送られる60 ビットの
ワードを文字
(ここでは「
バイト」と呼んでいます) に変換し、
加算器
にシリアルに送るために使用されます。60
ビットは、6 つの異なるレベルの
磁気コア
にダンプされます
。したがって、位置 9 から 1 が出てくると、その下の 6 つのコアすべてに現れます。 […] 加算器は、すべてのビットを受け入れることも、一部のビットだけを受け入れることもできます。 […] 右から 4 ビットの
10 進数
を操作するとします
。0 対角線が最初にパルスされ、0 から 5 までの 6 ビットが送信されます。そのうち、加算器は最初の 4 ビット (0 から 3) のみを受け入れます。ビット 4 と 5 は無視されます。次に、4 対角線がパルスされます。これにより、ビット 4 から 9 が送信され、最後の 2 ビットは再び無視されます。以下同様に続きます。[…]
英数字
処理で 6 ビットすべてを使用することも、1 ビットのみのバイトを論理分析用に処理することも、バイトを任意のビット数だけオフセットすることも、同様に簡単です。[…]
- ^ Buchholz, Werner (1977 年 2 月)。「バイトという言葉が成熟する...」Byte Magazine。2 ( 2): 144。 […] ファイル内で最初に見つかった参照は、
Stretch
の開発初期、1956 年 6 月に書かれた社内メモに含まれていました
。
バイトは、
1 から6までの任意の数の並列ビットで構成されると説明されていました。したがって、バイトは状況に応じた長さを持つものと想定されていました。バイトが最初に使用されたのは、一度に 6 ビットを処理する 1950 年代の入出力機器のコンテキストでした。8 ビット バイトへの移行の可能性は 1956 年 8 月に検討され、その後すぐに Stretch の設計に組み込まれました。この用語が初めて公表されたのは、1959 年の
IRE Transactions on Electronic Computers
、1959 年 6 月、121 ページの
G A Blaauw
、
F P Brooks Jr
、
W Buchholz
による論文「Processing Data in Bits and Pieces」です。この論文の概念は、 W Buchholz 編集の
Planning a Computer System (Project Stretch)
、
McGraw-Hill Book Company
(1962) の第 4 章で詳しく説明されています。この用語を作った根拠は、その 40 ページで次のように説明されています。
バイトは、
文字をエンコードするために使用されるビットのグループ、または入出力装置間で並行して送信されるビット数を示します。ここで文字以外の用語
が
使用されているのは、特定の文字が異なるアプリケーションで複数のコードによって表される場合があり、異なるコードが異なるビット数 (つまり、異なるバイト サイズ) を使用する場合があるためです。入出力送信では、ビットのグループ化は完全に任意であり、実際の文字とは関係ありません。 (この用語は
biteから作られた造語です
が、誤って
bitに変わるのを避けるために綴りが変えられています
。)
System/360 は、
2 の累乗である基本的なバイト サイズとワード サイズを含む、Stretch の概念の多くを引き継ぎました。ただし、経済性のために、バイト サイズは最大 8 ビットに固定され、ビット レベルのアドレス指定はバイト アドレス指定に置き換えられました。[…]
- ^ Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips ; Buchholz, Werner (1962)、「第 4 章: 自然データ単位」(PDF)、Buchholz, Werner (ed.)、『Planning a Computer System – Project Stretch』、McGraw-Hill Book Company, Inc. / The Maple Press Company、York、PA.、pp. 39– 40、LCCN 61-10466、2017-04-03 にオリジナル(PDF)からアーカイブ、 2017-04-03に取得
- ^ Bemer, Robert William (1959). 「256文字の一般化カードコードの提案」Communications of the ACM . 2 (9): 19– 23. doi : 10.1145/368424.368435 . S2CID 36115735.
- ^ 「ISO/IEC 2382-1:1993(en) 情報技術 - 語彙 - パート1: 基本用語」p. 01.02.09 . 2025年1月8日閲覧。
外部リンク
- ビット計算機 – ビット、バイト、キロビット、キロバイト、メガビット、メガバイト、ギガビット、ギガバイト間の変換を提供するツール
- BitXByteConverter 2016-04-06にWayback Machineでアーカイブ– ファイルサイズ、ストレージ容量、デジタル情報をさまざまな単位で計算するツール
