バイト

ビットから派生した単位
単位デジタル情報、データサイズ
記号B、 o (8ビットの場合)
記号B、  o(8ビットの場合)

バイトデジタル情報の単位、通常は8ビットで構成されます。歴史的に、バイトはコンピューターでテキストの1文字をエンコードするために使用されるビット数でした[1] [2]。そのため、多くのコンピューターアーキテクチャでは、アドレス指定可能なメモリ最小単位となっています。任意のサイズのバイトを一般的な8ビットの定義と区別するために、インターネットプロトコルRFC 791)などのネットワークプロトコル文書 では、8ビットバイトをオクテットと呼びます[3]。オクテット内のビットは通常ビットエンディアンに応じて0から7、または7から0の番号でカウントされます

バイトのサイズは歴史的にハードウェアに依存しており、サイズを義務付ける明確な標準は存在しなかった。1~48ビットのサイズが使用されてきた。[4] [5] [6] [7] 6ビットの文字コードは初期のエンコードシステムでよく使用された実装であり、1960年代には6ビットと9ビットのバイトを使用するコンピュータが一般的だった。これらのシステムは、2、3、4、5、6、8、または10個の6ビットバイトに対応する12、18、24、30、36、48、または60ビットのメモリワードを持つことが多く、レガシーシステムで21世紀まで存続した。この時代には、バイトという用語が一般的になる前は、命令ストリーム内のビットのグループ化はシラブル[a]またはスラブと呼ばれることが多かった。

ISO/IEC 2382-1:1993 に規定されているように、現代の事実上の標準である8ビットは、 2の8乗が256であることから、1バイトあたり0から255までのバイナリエンコード値を可能にする便利な2の累乗です。 [8]国際規格IEC 80000-13はこの共通の意味を成文化しました。多くの種類のアプリケーションは8ビット以下で表現できる情報を使用しており、プロセッサ設計者は通常、この用途に合わせて最適化します。主要な商用コンピューティングアーキテクチャの普及により、8ビットバイトは広く受け入れられるようになりました。[9]現代のアーキテクチャでは通常、それぞれ4バイトまたは8バイトで構成される32ビットまたは64ビットワードが使用されます。

バイトの単位記号は、国際電気標準会議(IEC)と電気電子学会(IEEE)によって大文字のBで指定されました。 [10]国際的には、単位のオクテットは8ビットのシーケンスを明示的に定義し、「バイト」という用語の潜在的な曖昧さを排除します。[11] [12]オクテットの記号「o」は、バイトとベルの間の記号「B」の曖昧さを都合よく排除します。

語源と歴史

バイトという用語は、1956年6月にヴェルナー・ブッフホルツによって造られました。 [4] [13] [14] [b] IBM Stretchコンピュータ[15] [16] [1] [13] [14] [17] [18]の初期設計段階で、ビットへのアドレス指定と、命令にバイトサイズがエンコードされた可変フィールド長(VFL)命令を備えていました。[13]これは、誤ってビットに変化するのを避けるために、biteを意図的に書き換えたものです[1] [13] [19] [c]

コンピュータのワードサイズよりも小さいビットグループ、特に4ビットのグループを指すバイトのもう1つの起源は、ルイス・G・ドゥーリーによる記録に残っています。彼は、 1956年か1957年にMITリンカーン研究所ジュール・シュワルツとディック・ビーラーとともにSAGEと呼ばれる防空システムに取り組んでいたときに、この用語を造ったと主張しました。このシステムは、ランド、MIT、IBMによって共同開発されました[20] [21]その後、シュワルツの言語JOVIALで実際にこの用語が使用されましたが、著者はそれがAN/FSQ-31から派生したものであると漠然と記憶していました。[22] [21]

初期のコンピュータは、さまざまな 4 ビットの 2進化 10 進数(BCD) 表現と、米国陸軍( FIELDATA ) と海軍で一般的な印刷可能なグラフィック パターン用の6 ビットコードを使用していました。これらの表現には、英数字と特殊なグラフィック シンボルが含まれていました。これらのセットは 1963 年に 7 ビットのコーディングに拡張され、米国標準情報交換コード(ASCII) または連邦情報処理規格と呼ばれ、1960 年代に米国政府および大学のさまざまな部門で使用されていた互換性のないテレプリンター コードに取って代わりました。ASCII には、大文字と小文字のアルファベットの区別、書き言葉の送信を容易にする制御文字のセット、ページ送りや改行などの印刷装置の機能、および伝送媒体上のデータ フローの物理的または論理的制御が含まれていました。[18] 1960年代初頭、IBMはASCII標準化にも積極的に取り組む一方で、System/360製品ラインに8ビットの拡張2進化10進コード(EBCDIC)を同時に導入しました。これは、以前のカードパンチで使用されていた6ビットの2進化10進数(BCDIC)表現[d]を拡張したものです。 [23] System/360の知名度の高さは、8ビットの記憶サイズが広く採用されることにつながりました。[18] [16] [13]ただし、EBCDICとASCIIの符号化方式は詳細には異なります。

1960年代初頭、AT&Tは長距離幹線にデジタル電話を導入しました。これらは8ビットのμ-law符号化を使用しました。この大規模な投資により、8ビットデータの伝送コストが削減されることが期待されました

ドナルド・クヌースは『The Art of Computer Programming』第1巻(1968年初版)の中で、仮想のMIXコンピュータにおけるバイトという語を、「不特定の量の情報を含み、少なくとも64の異なる値、最大100の異なる値を保持できる単位」として用いています。[24]彼は、「1975年頃から、バイトという言葉は正確に8つの2進数の桁の並びを意味するようになりました。MIXに関連してバイトについて語る際には、バイトがまだ標準化されていなかった時代を思い起こさせ、以前の意味に限定します」と述べています。[24]

1970年代の8ビット マイクロプロセッサの開発により、このストレージサイズが普及しました。8086前身であるIntel 8080などのマイクロプロセッサは、1バイト内の4ビットペアに対して、10進加算調整(DAA)命令などの少数の操作を実行することもできました。4ビットの量は、ニブルまたはニブルと呼ばれることが多く、1つの16進数で便宜的に表されます。

オクテットという用語は、 8ビットのサイズを明確に指定します。[18] [12]これはプロトコル定義で広く使用されています

歴史的に、オクタッドまたはオクタードという用語は、少なくとも西ヨーロッパでは8ビットを表すために使用されていました。[25] [26]しかし、この用法はもはや一般的ではありません。この用語の正確な起源は不明ですが、1960年代と1970年代のイギリス、オランダ、ドイツの資料、およびフィリップスのメインフレームコンピュータのドキュメント全体に見られます。

単位記号

バイトの単位記号は、IEC 80000-13IEEE 1541、およびメトリック交換形式[10]で大文字のBとして 指定されています

国際数量体系(ISQ)では、Bはアレクサンダー・グラハム・ベルにちなんで名付けられた対数電力比の単位であるベルの記号でもあり、IEC仕様と矛盾しています。しかし、ベルはほとんど使用されない単位であるため、混乱の危険性はほとんどありません。信号強度音圧レベルの測定には、主に10の位の分数であるデシベル(dB)が使用されますが、10分の1バイトの単位であるデシバイトやその他の分数は、伝送速度などの派生単位でのみ使用されます。

オクテットを表す小文字のoは、IEC 80000-13でオクテットの記号として定義されており、フランス語[27]ルーマニア語などの言語で一般的に使用されています。また、koやMoのように、倍数を表すメートル法の接頭辞と組み合わせられることもあります。

複数バイト単位

複数バイト単位
10進数
メトリック
1000kBキロバイト
1000 2MBメガバイト
1000 3GBギガバイト
1000 4TBテラバイト
1000 5PBペタバイト
1000 6EBエクサバイト
1000 7ZBゼタバイト
1000 8YBヨタバイト
1000 9RBロナバイト
1000 10QBケタバイト
バイナリ
IECメモリ
1024KiBキビバイトKBキロバイト
1024 2MiBメビバイトMBメガバイト
1024 3GiBギビバイトGBギガバイト
1024 4TiBテビバイトTBテラバイト
1024 5PiBペビバイト
1024 6EiBエクスビバイト
1024 7ZiBゼビバイト
1024 8YiBヨビバイト
1024 9RiBロビバイト
1024 10QiBケビバイト
データの桁数

バイトに基づいて単位の倍数を定義するシステムは複数存在します。一部のシステムは国際単位系(SI)に従って10 の累乗に基づいており、たとえば接頭辞キロを 1000 (10 3 ) と定義しています。また、他のシステムは2 の累乗に基づいています。これらのシステムの命名法は混乱を招いています。10 の累乗に基づくシステムは、標準のSI 接頭辞(キロメガギガ、...) とそれに対応する記号 (k、M、G、...) を使用します。ただし、2 の累乗に基づくシステムは、2 進接頭辞 (キビメビギビ、...) とそれに対応する記号 (Ki、Mi、Gi、...) を使用することがあります。また、接頭辞 K、M、G を使用することもあり、接頭辞 M または G が使用されている場合はあいまいさが生じます。

キロバイトの場合、10進法と2進法の解釈の違いは比較的小さく(キビバイトより約2%小さい)、単位が大きくなるにつれて、システムのずれは大きくなります(相対偏差は3桁ごとに2.4%ずつ大きくなります)。例えば、10の累乗に基づくテラバイトは、2の累乗に基づくテビバイトより約9%小さくなります。

10の累乗に基づく単位

10の累乗を用いた接頭辞の定義(1キロバイト(記号kB)は1,000バイトと定義)は、国際電気標準会議(IEC)によって推奨されている。[28] IEC規格では、1ヨタバイト(YB)(1000の8乗バイト)までの8つの倍数が定義されている[29]追加の接頭辞であるronna-( 1000の9乗)quetta-(1000の10乗)は、2022年に国際度量衡局(BIPM)によって採用された。 [30] [31]

この定義は、コンピュータネットワークにおけるデータレートの単位、内部バス、ハードドライブ、フラッシュメディアの転送速度、そしてほとんどのストレージメディア、特にハードドライブ[32]フラッシュベースのストレージ[33]、DVD[34]容量最も一般的に使用されています。この定義を使用するオペレーティングシステムには、macOS [35] 、 iOS [35]Ubuntu [36]Debian [37]などがあります。また、 CPUクロック速度パフォーマンスの測定など、コンピューティングにおけるSI接頭辞の他の用法とも一致しています

IBM System 360と関連するディスクおよびテープシステムは、バイトを8ビットに設定し、容量を10進単位で記録しました。[38]初期の8インチ、5.25インチ、3.5インチのフロッピーディスクは、より正確な「KiB」ではなく「KB」を使用して、1024の倍数で容量を示していました後期の、より大型の8インチ、5.25インチ、3.5インチのフロッピーディスクでは、容量はハイブリッド表記、つまり1024,000の倍数で、「KB」= 1024 B「MB」= 1024,000 Bで示されていました。 初期の5.25インチディスクは、128バイトと256バイトのセクターを使用していたにもかかわらず、 10進法[疑わしい-議論]を使用していました。 [39]ハードディスクは、4096バイトのブロックが標準になる前は、主に256バイト、その後512バイトが使用されていました。[40] RAMは常に2の累乗で販売されていました。 [要出典]

2の累乗に基づく単位

1キビバイト(KiB)が1,024(つまり2の10乗)バイトに相当する2の累乗に基づく単位系は、国際規格IEC 80000-13で定義されており、国内および国際標準化団体( BIPMIECNIST )によってサポートされています。IEC規格では、10の累乗を定義しており、最大1キュービバイト(QiB)は10の24乗10バイトに相当します。[41]

1990年代のJEDEC規格では、1キロバイト(KB)が1,024バイトに等しいという別の命名システム(以下、慣例規則と呼ぶが言及されている。 [42] [43] [44] 1メガバイト(MB)は1024の2乗バイトに等しく、1ギガバイト(GB)は1024の3乗バイトに等しい。JEDEC規格では最初の3つの倍数(GBまで)のみ言及されており、TB以上については言及されていない。紛らわしく不正確ではあるが、[45]この慣例規則はMicrosoft Windowsオペレーティングシステム[46] [より適切な情報源が必要]やメインメモリやCPUキャッシュサイズなどのランダムアクセスメモリ容量、およびVodafone [47]AT&T [48]Orange [49]Telstra [50]などの通信会社のマーケティングや課金に使用されている

ストレージ容量については、macOSとiOSではMac OS X 10.5 LeopardとiOS 10までは慣習的な慣習が使用されていましたが、その後は10の累乗に基づく単位に切り替えられました。[35]

偏狭な単位

様々なコンピュータベンダーが、様々なサイズのデータ​​を表す用語を作り出しており、時には同じベンダー内でも同じ用語が異なるサイズで表すことがあります。これらの用語には、ダブルワードハーフワード、ロングワードクアッドワードスラブスーパーワードシラブルなどがあります。また、非公式の用語もあります。例えば、4ビットはハーフバイトニブル、 1000 8はオクタルバイトです。

矛盾する定義の歴史

単位接頭辞の10進数と2進数の解釈のパーセンテージ差は、ストレージサイズが大きくなるにつれて大きくなります

1メガバイトの容量を持つディスクの広告を見ると、これは何を意味するのでしょうか? 3つの妥当な答えがあり、どれが正しいのかご存知の方はいらっしゃいますか?… 最小容量と最大容量の差はわずか5%未満なので、これはそれほど重要な問題ではありません。とはいえ、標準的な基準値、あるいは基準値が存在するかどうかを知ることができれば幸いです。

— Allan D. Pratt著『Small Computers in Libraries』、1982年[51]

現代の[e]コンピュータメモリは2進アーキテクチャを採用しているため、2の累乗に基づくメモリ単位の定義が最も実用的です。2進数の倍数にキロというメートル法の接頭辞を使用するのは、便宜上です。1024はおよそ1000です。[27]この定義パーソナルコンピューティング初期の数十年間に普及しており、 Tandon 5 1/4インチDDフロッピーディスクフォーマット(368,640バイト)のような製品は、「360KB」として宣伝されていましたしかし、これは普遍的ではありませんでした。Shugart SA-400 5 1/4インチフロッピーディスクは、フォーマットされていない状態で109,375バイトを保持し、[52] 1000の慣例に従って「110KB」と宣伝されていました。[53]同様に、8インチDEC RX01フロッピーディスク(1975年)は256バイトでフォーマットされ、「256k」と宣伝されていました。[54]一部のデバイスは2つの定義を組み合わせて宣伝されていました。特に注目すべきは、「1.44 MB」と宣伝されているフロッピーディスクの実際の容量は1440KBで、これは1.47MBまたは1.41MBに相当します

1995年、国際純正応用化学連合(IUPAC)の命名法および記号に関する部会間委員会は、kibi(キロバイナリ)、mebi(メガバイナリ)、gibi(ギガバイナリ)など、1024の累乗を表す2進数の接頭辞のセットを提案することで、この曖昧さを解決しようとしました。[55] [56]

1998年12月、IECは、1024の累乗を明確に示すためにIUPACが提案した接頭辞(kibi、mebi、gibiなど)を採用することで、このような多様な用法と定義に対処しました。[57]したがって、 1キビバイト(1KiB)は1024バイト = 1024バイト、1メビバイト(1MiB)は1024バイト=1048576に続きます

1999年、ドナルド・クヌースはキビバイトを「ラージキロバイト」(KKB )と呼ぶことを提案しまし[58]

現代の標準的な定義

IECはIUPACの提案を採用し、1999年1月に規格を公表しました。[59] [60] IECの接頭辞は国際量体系の一部です。IECはさらに、キロバイトは1000バイトを指す場合にのみ使用するように規定しました。1000バイト。[61]

定義をめぐる訴訟

バイトの倍数の2進法と10進法の定義に関する消費者の混乱から生じた訴訟は、一般的にメーカーに有利な判決を下しており、裁判所はギガバイトまたはGBの法的定義は1GB =1 000 000 000 (10の9乗)バイト(10進法の定義)であり、2進法の定義(2の30乗、つまり1 073 741 824)ではないと判断しました。具体的には、カリフォルニア州北部地区連邦地方裁判所は、「米国議会は、ギガバイトの10進法の定義を『米国の貿易および商業』の目的上、『好ましい』ものとみなしている[…]カリフォルニア州議会も同様に、この州におけるすべての取引に10進法を採用している」と判決しました。[ 62 ]

ドライブメーカーのWestern Digitalに対する訴訟など、以前の訴訟は、裁判所の判決なしに和解に至りました[63] [64] Western Digitalは異議を唱え、使用可能な容量は宣伝されている容量と異なる場合があることを製品に明示的に記載しました。[63] Seagateも同様の理由で訴えられ、和解しました。[63] [65]

実例

単位おおよその等価
ビット真(1)または偽(0)を示すブール変数
バイト基本的なラテン文字
キロバイト『ジャバウォックのテキスト
典型的なファビコン
メガバイト『ハリー・ポッターと炎のゴブレット』のテキスト[66]
ギガバイトDVDビデオ約30分[67]
『ラムはブロードウェイに横たわる』のCD品質の非圧縮音声
テラバイト2007年最大のコンシューマー向けハードドライブ[68]
30メガビット/秒でエンコードされた75時間のビデオ
ペタバイト2000年にわたるMP3エンコード音楽[69]
エクサバイト2004年の世界の月間インターネットトラフィック[70]
ゼタバイト2016年の世界の年間インターネットトラフィック(ゼタバイト時代として知られる)[71]

一般的な用途

多くのプログラミング言語はバイトというデータ型 を定義しています

CおよびC++プログラミング言語では、バイトを「実行環境の基本文字セットの任意のメンバーを保持するのに十分な大きさの、アドレス指定可能なデータ記憶単位」と定義していますC標準の3.6項)。C標準では、整数データ型のunsigned charは少なくとも256の異なる値を保持し、少なくとも8ビットで表現される必要があります(5.2.4.2.1項)。CおよびC++のさまざまな実装では、バイトの記憶用に8、9、16、32、または36ビットが予約されています。[72] [73] [f]さらに、CおよびC++標準では、2つのバイト間にギャップがないことが要求されています。これは、メモリ内のすべてのビットがバイトの一部であることを意味します。[74]

Javaのプリミティブデータ型バイトは8ビットとして定義されています。これは符号付きデータ型で、-128から127までの値を保持します

C#などの.NETプログラミング言語では、 byteを符号なし型、sbyteを符号付きデータ型として定義し、それぞれ0から255、 -128から127の値を保持します。

データ伝送システムでは、byteはシリアルデータストリーム内の連続したビット列として使用され、データの最小単位を表します。非同期通信の場合、完全な伝送単位には通常、スタートビット、1つまたは2つのストップビット、および場合によってはパリティビットが追加で含まれるため、実際のデータが5ビットから8ビットの場合、そのサイズは7ビットから12ビットまで変化する可能性があります。[75]同期通信の場合、エラーチェックには通常、フレームの末尾のバイトが使用されます

参照

注記

  1. ^ 「シラブル」という用語は、データバイトではなく、命令または命令の構成要素を含むバイトに使用されました。
  2. ^ 多くの情報源では、 「バイト」という用語の誕生は1956年7月であると誤って示されていますが、ヴェルナー・ブッフホルツは、この用語は1956年6月に造られたと主張しました。実際、これを裏付ける最も古い文書は1956年6月11日のものです。ブッフホルツは8ビットバイトへの移行は1956年8月に考案されたと述べていますが、この概念を使用した最も古い文書は1956年9月のものです
  3. ^ 後期のマシン、例えばBurroughs B1700 CDC 3600、DEC PDP-6、 DEC PDP-10などは、ワードサイズ以下の任意のバイトを操作する機能を備えていました。
  4. ^ 複数のBCDコードページがありました。
  5. ^ 1970年代を通して、 10進アーキテクチャを備えたマシンがありました
  6. ^ 特定の実装における実際のビット数は、CHAR_BITファイルlimits.hに実装されたとおりに文書化されています。

参考文献

  1. ^ abc Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips ; Buchholz, Werner (1962)、「第4章:自然データ単位」(PDF)Buchholz, Werner(編)『コンピュータシステムの計画 - プロジェクトストレッチ』McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA.、 39~ 40ページ 、 LCCN 61-10466、 2017年4月3日に オリジナル(PDF)からアーカイブ、 2017年4月3日取得

    ビット    に加えて、マシン設計によって課される構造を説明するためにここで使用される用語を以下に示します
        バイトは、文字を符号化するために使用されるビットのグループ、または入出力ユニット間で並列に送信されるビット数を表します。ここでは、文字以外の用語が使用されています。これは、特定の文字が異なるアプリケーションで複数のコードで表現される場合があり、異なるコードが異なるビット数(つまり、異なるバイトサイズ)を使用する可能性があるためです。入出力伝送において、ビットのグループ化は完全に任意であり、実際の文字とは関係がない場合があります。(この用語は「bite」から造語されましたが、「bit」に誤って変更されるのを避けるために「bit」に書き換えられています。)ワードは 1
        メモリサイクルでメモリからまたはメモリに並列に送信されるデータビットの数で構成されます。したがって、ワードサイズはメモリの構造的特性として定義されます。(「catena」という用語は、この目的のためにBull GAMMA 60  [fr]コンピュータの設計者によって造語されました。)ブロックは、単一の入出力命令に応答して入出力ユニット間で送信されるワード数を指します。ブロックサイズは入出力ユニットの構造的特性であり、設計によって固定されている場合もあれば、プログラムによって変更される場合もあります。
        

  2. ^ ベマー、ロバート・ウィリアム(1959)、「256文字の一般化カードコードの提案」、Communications of the ACM2(9):19–23doi10.1145/368424.368435S2CID  36115735
  3. ^ Postel, J. (1981年9月). インターネットプロトコル DARPA インターネットプログラムプロトコル仕様. p. 43. doi : 10.17487/RFC0791 . RFC 791. 2020年8月28日閲覧.オクテット 8ビットバイト。
  4. ^ ab Buchholz, Werner (1956-06-11). 「7. シフトマトリックス」(PDF) .リンクシステム. IBM . pp.  5– 6.ストレッチメモ No. 39G. オリジナル(PDF)から2017-04-04にアーカイブ。2016-04-04取得。

        [...] 編集の観点から最も重要なのは、1ビットから6ビット長までの任意の文字または数字を処理できることです。
        図2は、メモリから並列に送られてくる60ビットのワードを、加算器にシリアルに送信する文字(ここでは「バイト」と呼んでいます)に変換するために使用されるシフトマトリックスを示しています。60ビットは6つの異なるレベルの磁気コアにダンプされます。したがって、位置9から1が出てくると、その下の6つのコアすべてに現れます任意の対角線にパルスを入力すると、その線に沿って格納されている6ビットが加算器に送られます。加算器は、すべてのビットを受け入れることも、一部のビットのみを受け入れることもできます。右から4ビットの10進数
        で演算を行うと仮定します。まず対角線0にパルスを入力し、0から5までの6ビットを送信します。加算器は、そのうち最初の4ビット(0から3)のみを受け入れます。ビット4と5は無視されます。次に、対角線4にパルスを入力します。これにより、ビット4から9が送信され、最後の2ビットは再び無視されます。以下同様に続きます。6ビットすべてを英数字演算     に使用したり、1ビットのみのバイトを論理解析に使用したり、バイトを任意のビット数だけオフセットしたりすることも同様に簡単です。これらはすべて、適切なシフト対角線を引くことで実行できます。加算器の出力において、直列演算から並列演算に切り替えるために、同様のマトリックス構成が使用されます。[...]

  5. ^ 3600コンピュータシステム - リファレンスマニュアル(PDF) . K. セントポール、ミネソタ州、米国:コントロールデータコーポレーション(CDC)。1966年10月11日 [1965]。60021300。オリジナル(PDF)から2017年4月5日にアーカイブ。 2017年4月5日閲覧バイト - コンピュータワードの区分。
        注: 12ビット、24ビット、48ビットのバイトについて説明します。
  6. ^ Rao, Thammavaram RN; Fujiwara, Eiji (1989). McCluskey, Edward J. (編). コンピュータシステムの誤り制御符号化. Prentice Hall Series in Computer Engineering (第1版). Englewood Cliffs, NJ, 米国: Prentice Hall . ISBN 0-13-283953-9 LCCN  88-17892
        注:「4ビットバイト」のコード使用例
  7. ^ ターフェル、ハンス・イェルク (1971)。Einführung in die digitale Datenverarbeitung [デジタル情報処理入門] (ドイツ語)。ミュンヘン:カール・ハンザー・フェルラーク。 p. 300.ISBN 3-446-10569-7 バイト = 1つのビットからなる集合。1つのデータビットには1つのパリティビットが含まれる。
        注:1バイトは通常9ビットのグループ(8つのデータビットと1つのパリティビット)として定義されます。
  8. ^ ISO/IEC 2382-1: 1993, 情報技術 - 語彙 - パート1:基本用語. 1993.

        バイト:
        複数のビットで構成され、単位として扱われ、通常は文字または文字の一部を表す文字列。
        注:
        1 バイトのビット数は、特定のデータ処理システムに対して固定されています。2
        バイトのビット数は通常8です。

  9. ^ 「1960年代のインターネット史 # 1964」。コンピュータ歴史博物館。2017年 [2015]。2022年6月24日時点のオリジナルよりアーカイブ。 2022年8月17日閲覧
  10. ^ ab Jaffer, Aubrey (2011) [2008]。「Metric-Interchange-Format」。2017年4月3日時点のオリジナルよりアーカイブ2017年4月3日閲覧
  11. ^ Kozierok, Charles M. (2005-09-20) [2001]. 「TCP/IPガイド - バイナリ情報と表現:ビット、バイト、ニブル、オクテット、文字 - バイト対オクテット」3.0。2017年4月3日にオリジナルからアーカイブ。 2017年4月3日閲覧
  12. ^ ab ISO 2382-4、データの構成(第2版)。バイト、オクテット、8ビットバイト:8ビットで構成される文字列。
  13. ^ abcde Buchholz, Werner (1977年2月). 「「バイト」という言葉が成熟する…」Byte Magazine . 2 (2): 144

        1950年代半ばにIBMのプロジェクト・ストレッチに携わっていたW・ブッフホルツ氏から、以下の手紙をいただきました。彼の手紙には、その経緯が記されています。

        私は貴誌の定期購読者ではありませんが、1976年11月号に掲載された「バイト」という用語の起源に関する質問について、私がこの専門用語を使ったことを知っていた同僚から聞きました(1976年11月号BYTEの77ページ、「Olde Englishe」参照)。ファイルを調べましたが、出生証明書は見つかりませんでした。しかし、「バイト」は1977年に21歳の誕生日を迎え、成熟期を迎えていると確信しています。8
        ビットを意味するバイトは、1960年代半ばに広く普及させたIBM System/360に由来すると考えられています。編集者が、この用語の起源が初期のストレッチ・コンピュータに遡る点を指摘するのは正しいのですが(ただし、ストレッチ・コンピュータはIBMが開発した第二世代のトランジスタ式コンピュータの中で、最後のものではなかったという点は誤りです)。ファイル内で最初に参照が見つかったのは、 Stretch
        の開発初期、1956 年 6 月に書かれた内部メモでした。バイトは 1 から 6 までの任意の数の並列ビットで構成されると説明されていました。したがって、バイトは状況に応じた長さであると考えられていました。バイトが最初に使用されたのは、一度に 6 ビットを処理した 1950 年代の入出力機器のコンテキストでした。8 ビット バイトに移行する可能性は 1956 年 8 月に検討され、その後まもなく Stretch の設計に組み込まれました。    この用語が初めて出版されたのは、1959 年の IRE Transactions on Electronic Computers 、1959 年 6 月の 121 ページに掲載された、GA Blaauw、FP Brooks Jr、W Buchholz による論文「Processing Data in Bits and Pieces」です。この論文概念W Buchholz 編、McGraw-Hill Book Company (1962) の Planning a Computer System (Project Stretch) の第 4 章で詳しく説明されています。この用語の造語の根拠は、40ページで次のように説明されています。

    バイトとは、文字を符号化するために使用されるビットのグループ、または入出力ユニット間で並列に送信されるビット数を表します。ここで文字以外の用語が使用されているのは、特定の文字が異なるアプリケーションで複数のコードで表現される場合があり、異なるコードが異なるビット数(つまり、異なるバイトサイズ)を使用する可能性があるためです。入出力伝送において、ビットのグループ化は完全に任意であり、実際の文字とは関係がない場合があります。(この用語は biteから派生した造語ですが、誤ってbitに綴られるのを避けるためにbitに書き換えられています。
        System/360は、 2の累乗である基本的なバイトサイズとワードサイズなど、ストレッチの概念の多くを引き継ぎました。しかし、経済性のために、バイトサイズは最大8ビットに固定され、ビットレベルのアドレス指定はバイトアドレス指定に置き換えられました。
        それ以来、「バイト」という用語は一般的に8ビットを意味するようになり、一般的な語彙に取り入れられました。
        コンピュータ分野向けに特別に造られた用語で、英語の一般的な辞書に掲載されているものは他に何かありますか?

  14. ^ ab 「IBMストレッチ/ハーベスト時代(1956-1961)のタイムライン」。コンピュータ歴史博物館。1956年6月。2016年4月29日にオリジナルからアーカイブ。 2017年4月3閲覧

        1956年夏:ゲリット・ブラウフレッド・ブルックスヴェルナー・ブッフホルツジョン・コック、ジム・ポメレーンがストレッチチームに加わる。ロイド・ハンターがトランジスタのリーダーシップを提供する。
        1956年7月:ヴェルナー・ブッフホルツは報告書の中で、ストレッチにおける64ビットワード長の利点を列挙する。これはまた、NSAの8ビットバイト要件をサポートする。ヴェルナーの「バイト」という用語は、このメモで初めて普及した。

        注:この年表では「バイト」という用語の誕生年を1956年7月と誤って指定しているが、ブッフホルツは実際には1956年6月からこの用語を使用していた

  15. ^ ブッフホルツ、ヴェルナー(1956年7月31日). 「5. 入出力」(PDF) .メモリワード長. IBM . p. 2.ストレッチメモ No. 40. オリジナル(PDF)から2017年4月4日にアーカイブ2016年4月4日閲覧

        [...] 60は1、2、3、4、5、6の倍数です。したがって、1ビットから6ビットの長さのバイトは、1つのワードと次のワードの間でバイトを分割することなく、60ビットワードに効率的にパックできます。より長いバイトが必要な場合、もちろん60ビットはもはや理想的ではありません。現在のアプリケーションでは、1ビット、4ビット、6ビットが本当に重要なケースです。64
        ビットワードでは、入出力で6ビットバイトを処理する際に、ワード内の4ビットを未使用のままにするなど、いくつかの妥協が必要になることがよくあります。ただし、LINKコンピュータは、これらのギャップを編集し、ワード間で分割されたバイトの処理を可能にするように装備できます。[...]

  16. ^ ab Buchholz, Werner (1956-09-19). 「2. 入出力バイトサイズ」(PDF) .メモリワード長とインデックス. IBM . p. 1.ストレッチメモ No. 45. オリジナル(PDF)から2017-04-04にアーカイブ. 2016-04-04に取得.

        [...] シリアル操作の最大入出力バイトサイズは、エラー検出ビットと訂正ビットを除いて8ビットになります。したがって、Exchangeは8ビットバイトベースで動作し、1バイトあたり8ビット未満の入出力ユニットは残りのビットを空白のままにします。結果として生じるギャップは、後でプログラミングによって編集できます [...]

  17. ^ Raymond, Eric Steven (2017) [2003]. 「バイト定義」。2017年4月3日時点のオリジナルよりアーカイブ。 2017年4月3日閲覧
  18. ^ abcd Bemer, Robert William (2000年8月8日). 「なぜ1バイトは8ビットなのか? それともそうではないのか?」。Computer History Vignettes。2017年4月3日時点のオリジナルよりアーカイブ2017年4月3日閲覧

    IBMに入社して、64文字制限がもたらす混乱を目の当たりにしました。特に、大文字と小文字の両方が必要となるワードプロセッサについて考え始めた時は、その混乱は顕著でした。
        既存の47文字に小文字26文字を加えると73文字となり、6ビットで表現できる文字数より9文字も多くなります。私が知る限り、8ビットバイトを搭載した最初のコンピュータであるSTRETCH を
        念頭に、パンチカードの文字コードを256文字まで拡張するという提案もしました [1]。真剣に受け止めてくれた人もいましたが、私は単なるパロディーだと考えていました。    そこで、7ビット文字について考え始めた人もいましたが、これはとんでもない話でした。IBMのSTRETCHコンピュータを背景に、8文字ずつに分割できる64文字の単語を扱うという状況下で(8ビットのグループを表す「バイト」という用語を考案したヴェルナー・ブッフホルツ博士の指導の下、私はSTRETCHの文字セットを設計しました)、文字セットは8ビット単位のグループ分けを64文字で表現する必要がありました。 [2] 256ビットまで扱える汎用的な8ビット文字セットを作るのは合理的に思えました。当時の私のモットーは「2の累乗は魔法だ」でした。そこで私が率いるグループは、そのような提案を立案し、その正当性を証明しました[3]。しかし、ASCIIを公式化する標準化グループに提示したところ、少々進歩しすぎたため、彼らは当面7ビットセット、あるいは上位半分を将来の作業に残す8ビットセットで中止しました。IBM 360は8ビット文字を使用していましたが、直接ASCIIではありませんでした。こうして、     ブッフホルツの「バイト」は広く普及しました。私自身は、多くの理由からその名前が好きではありませんでした。設計では8ビットが並列に動作していました。しかしその後、CPU内部とテープドライブの両方に、自己チェック用の9ビットを備えたIBMの新しい部品が登場しました。私はこの9ビットバイトを1973年に報道陣に公開しました。しかしそれよりずっと前、 1965年から66年にかけてフランスのCie. Bullでソフトウェア事業を率いていた頃、私は「バイト」という用語を廃止し、「オクテット」という用語を使うべきだと主張しました。当時の私の好みが、今ではより好まれる用語になっていることにお気づきでしょう。    これは、16ビット、32ビット、64ビット、さらには128ビットを並列に伝送できる新しい通信方式によって正当化されています。しかし、一部の愚かな人々は、この並列転送(これはUNICODEセットで確認できます)のために、今では「16ビットバイト」と呼んでいます。確信はありませんが、おそらくこれは「ヘクステットと呼ぶべきでしょう。しかし、私が今でも正しいことにお気づきになるでしょう。2の累乗は今でも魔法なのです!
        

        

        

        

  19. ^ Blaauw, Gerrit AnneBrooks, Jr., Frederick PhillipsBuchholz, Werner(1959年6月)。「ビットとピースでのデータ処理」IRE Transactions on Electronic Computers:121
  20. ^ Dooley, Louis G. (1995年2月). 「Byte: The Word」. BYTE . オカラ, フロリダ州, 米国. 1996年12月20日時点のオリジナルよりアーカイブ。

        バイトという言葉は、1956年から1957年頃、MITリンカーン研究所で、ランド研究所、リンカーン研究所、IBMが共同開発したSAGE(北米防空システム)というプロジェクトの中で造られました。当時、コンピュータのメモリ構造はすでにワードサイズで定義されていました。ワードはxビットで構成されビットはワード内の2進数表記の位置を表します。操作は通常、フルワード内のすべてのビットに対して行われます。    私たちは、フルワードサイズよりも小さい論理的なビットセットを指すためにバイトという言葉を作りました。当時は、xビットとして明確に定義されていませんでしたが、コード化されたデータ項目のほとんどが4ビットのサイズだったため、通常は4ビットのセットと呼ばれていました。その後まもなく、私は他の職務に就き、SAGEから離れました。長年アジアで過ごした後、アメリカに戻り、新しいマイクロコンピュータ技術でバイトという言葉が基本的なアドレス指定可能なメモリユニットを指すために使用されていることを知って困惑しました

  21. ^ ab Ram, Stefan (2003年1月17日). "Erklärung des Wortes "Byte" im Rahmen der Lehre binärer Codes" (ドイツ語). ベルリン, ドイツ: Freie Universität Berlin . 2021年6月10日時点のオリジナルよりアーカイブ。 2017年4月10日閲覧
  22. ^ 「バイト」という用語の起源、1956年、2017年4月10日時点のオリジナルよりアーカイブ2022年8月17日閲覧

    ACMカンファレンスで行われたプログラミング言語の歴史に関する    質疑応答で、次のようなやり取りがありました。

        [ジョン・グッドイナフ氏JOVIAL
        で「バイト」という用語が使われているとおっしゃっていましたが、この用語の由来はどこから来たのですか? ]     [ジュール・シュワルツ氏(JOVIALの発明者):    私の記憶では、AN/FSQ-31は709とは全く異なるコンピュータで、バイト指向でした。確かなことは覚えていませんが、そのコンピュータの説明に「バイト」という言葉が含まれていて、私たちもそれを使用していたことはほぼ間違いありません。 ]     [フレッド・ブルックス氏    それについて少しお伺いしてもよろしいでしょうか?STRETCHの定義の一部としてWerner Buchholz氏がこの言葉を造語し、AN/FSQ-31はSTRETCHからこの言葉を引用しましたが、この言葉の考案者はWerner氏であることは間違いありません。 ]     [ シュワルツ氏:    その通りです。ありがとうございます。 ]





  23. ^ 「IBMによるEBCDICコード一覧」ibm.com 2020年1月2日。2020年7月3日にオリジナルからアーカイブ。 2020年7月3日閲覧
  24. ^ ab Knuth, Donald (1997) [1968]. The Art of Computer Programming: Volume 1: Fundamental Algorithms (3rd ed.). Boston: Addison-Wesley. p. 125. ISBN 9780201896831
  25. ^ Williams, RH (1969). British Commercial Computer Digest: Pergamon Computer Data Series . Pergamon Press . ISBN 1483122107 ISBN 978-1483122106[要説明]
  26. ^ 「フィリップス・データ・システムズの製品ラインナップ」(PDF)フィリップス。1971年4月。2016年3月4日にオリジナルからアーカイブ。 2015年8月3日閲覧
  27. ^ ab
        [
        |*| ビットとバイトについて:2進数の倍数の接頭辞 - IEC
        |*| v0: https://web.archive.org/web/20090818042050/http://www.iec.ch/online_news/etech/arch_2003/etech_0503/focus.htm
        |*| v1: https://www.iec.ch/prefixes-binary-multiples 2021年8月16日にWayback Machineにアーカイブ]
  28. ^ 2進数の倍数を表す接頭辞 2007年8月8日、 Wayback Machineにアーカイブ— NISTの定数、単位、不確かさに関するリファレンス
  29. ^ 松岡 聡; 佐藤 仁; 建部 修; 鯉渕 道弘; 藤原 一樹; 鈴木 修二; 角田 正則; 石田 隆; 秋山 豊; 鈴村 豊太郎; 上野 幸治 (2014年9月15日). 「エクストリーム・ビッグデータ(EBD):ヨタバイト/年を目指す次世代ビッグデータ基盤技術」.スーパーコンピューティングのフロンティアとイノベーション. 1 (2): 89– 107. doi : 10.14529/jsfi140206 . ISSN  2313-8734. 2022年3月13日時点のオリジナルよりアーカイブ2022年5月27日閲覧
  30. ^ 「第27回国際度量衡総会決議一覧」(PDF) 2022年11月18日。2022年11月18日時点のオリジナルからアーカイブPDF ) 。 2022年11月18日閲覧
  31. ^ Gibney, Elizabeth (2022年11月18日). 「1クエタバイトにはいくつのヨタバイトがある? 極端な数字に新しい名前が付けられる」 Nature . doi : 10.1038/d41586-022-03747-9. ISSN  0028-0836. PMID  36400954. S2CID  253671538. 2023年1月16日時点のオリジナルよりアーカイブ。 2022年11月21日閲覧
  32. ^ 1977年ディスク/トレンドレポート リジッドディスクドライブ、1977年6月発行
  33. ^ サンディスク USBフラッシュドライブ 2008年5月13日アーカイブWayback Machine「注:1メガバイト(MB)=100万バイト、1ギガバイト(GB)=10億バイト。」
  34. ^ ベネット、ヒュー(1999年)「パイオニア DVD-S201 4.7GB DVDレコーダー」EMedia第12巻、第12号 。ISSN 1529-7306。DVDの命名法は、1ギガバイトは10億バイトと定義されています…
  35. ^ abc 「iOSとmacOSがストレージ容量を報告する方法」Appleサポート2018年2月27日。2020年4月9日時点のオリジナルからアーカイブ2022年1月9日閲覧
  36. ^ 「UnitsPolicy」. Ubuntu Wiki . Ubuntu. 2021年11月18日時点のオリジナルからのアーカイブ。 2022年1月9日閲覧。
  37. ^ 「ConsistentUnitPrefixes」. Debian Wiki . 2021年12月3日時点のオリジナルからのアーカイブ。 2022年1月9日閲覧
  38. ^ 「メインコアストレージ」(PDF) . IBM System/360 システム概要(PDF) . システム・リファレンス・ライブラリ(初版). IBM . 1964年. p. 6. A22-6810-0 . 2025年5月22日閲覧。
  39. ^ 「5.25インチフロッピーディスクドライブ ストック番号237-088」PDF) . docs.rs-online.com
  40. ^ 「アドバンスド・フォーマット・ホワイトペーパー」(PDF) . documents.westerndigital.com .
  41. ^ 「IEC 80000-13:2025 – 量と単位 – パート13:情報科学技術」.国際電気標準会議.
  42. ^ キロバイト – 無料のMerriam-Webster辞書の定義と詳細。2010年4月9日にWayback Machineにアーカイブ。Merriam-webster.com (2010年8月13日). 2011年1月7日閲覧。
  43. ^キロバイト – Dictionary.comにおけるキロバイトの定義。2010年9月1日に Wayback Machineにアーカイブ。Dictionary.reference.com (1995年9月29日). 2011年1月7日閲覧
  44. ^ オックスフォード辞書オンラインからのキロバイトの定義。Wayback Machineに2006年6月25日にアーカイブ。Askoxford.com。2011年1月7日閲覧。
  45. ^ 2進数と10進数の倍数を表す接頭辞:2進数と10進数
  46. ^ 「実際のディスクサイズの決定:1.44 MBが1.40 MBである理由」Microsoft サポート。2003年5月6日。2014年2月9日時点のオリジナルよりアーカイブ。 2014年3月25日閲覧
  47. ^ 「3G/GPRSデータレート」Vodafone Ireland。2016年10月26日時点のオリジナルよりアーカイブ2016年10月26日閲覧。
  48. ^ 「データ測定スケール」AT&T。2016年10月26日閲覧[永久リンク切れ]
  49. ^ 「インターネットモバイルアクセス」Orange Romania。2016年10月26日時点のオリジナルよりアーカイブ。 2016年10月26日閲覧
  50. ^ 「お客様規約」(PDF)。Telstra。7ページ。2017年4月10日時点のオリジナルよりアーカイブ(PDF)2016年10月26日閲覧
  51. ^ Pratt, Allan D. (1982-04-12). 「Kwandary」. 読者からの手紙. InfoWorld . 21ページ. 2025年3月16日閲覧.
  52. ^ 「SA400 ミニフロッピー」. Swtpc.com. 2013-08-14. 2014-05-27にオリジナルからアーカイブ。2014-03-25に閲覧.
  53. ^ 「Shugart Associates SA 400 ミニフロッピー™ ディスクドライブ」(PDF) . 2011-06-08にオリジナル(PDF)からアーカイブ。2011-06-24閲覧
  54. ^ 「RXS/RX11フロッピーディスクシステムメンテナンスマニュアル」(PDF)。マサチューセッツ州メイナード:Digital Equipment Corporation。1975年5月。 2011年4月23日にオリジナル(PDF)からアーカイブ。 2011年6月24日閲覧
  55. ^ IUCr 1995報告書 - IUPAC命名法および記号に関する部門間委員会(IDCNS) http://ww1.iucr.org/iucr-top/cexec/rep95/idcns.htm 2020年12月19日にWayback Machineにアーカイブ
  56. ^ 「バイナリプレフィックス」オークランド大学コンピュータサイエンス学部 https://wiki.cs.auckland.ac.nz/stageonewiki/index.php/Binary_prefix 2020年10月16日に Wayback Machineにアーカイブ
  57. ^ 米国国立標準技術研究所。「2進数の倍数を表す接頭辞」。2007年8月8日時点のオリジナルからのアーカイブ。「1998年12月、国際電気標準会議(IEC) は、データ処理およびデータ伝送の分野で使用されるバイナリ倍数のプレフィックスの名称と記号をIEC国際規格として承認しました。」
  58. ^ 「キロバイトとは何か?」。2011年6月6日にオリジナルからアーカイブ。 2010年5月20日閲覧
  59. ^ NIST「2進数の倍数を表す接頭辞」https://physics.nist.gov/cuu/Units/binary.html 2018年1月14日に Wayback Machineにアーカイブ
  60. ^ IEC国際規格IEC 60027-2の修正第2版:電気技術で使用される文字記号 - パート2:電気通信および電子工学。
  61. ^ Barrow, Bruce(1997年1月). 「A Lesson in Megabytes」(PDF) . IEEE . 5ページ. 2005年12月17日時点のオリジナル(PDF)からアーカイブ。 2024年12月14日閲覧
  62. ^ 「却下申立許可命令」(PDF) .米国カリフォルニア州北部地区連邦地方裁判所. 2021年10月7日時点のオリジナル(PDF)からアーカイブ2020年1月24日閲覧
  63. ^ abc Mook, Nate (2006-06-28). 「Western Digital、能力訴訟を和解」betanews. 2009年9月7日時点のオリジナルよりアーカイブ。 2009年3月30日閲覧
  64. ^ Baskin, Scott D. (2006-02-01). 「被告Western Digital Corporationによる原告の予備承認申立てを支持する弁論要旨」Orin Safier対Western Digital Corporation. Western Digital Corporation . 2009年1月2日時点のオリジナルよりアーカイブ2009年3月30日閲覧
  65. ^ Judge, Peter (2007-10-26). 「Seagate、ギガバイトの定義を超える支払い」ZDNet . 2014年9月3日時点のオリジナルよりアーカイブ。 2014年9月16日閲覧
  66. ^ Allison Dexter, 「ハリー・ポッターにはいくつの単語があるか?」[1] 2021年1月25日時点のWayback Machineアーカイブ。表示190,637
  67. ^ 「キロバイト メガバイト ギガバイト テラバイト(スタンフォード大学)」. 2020年11 8日時点のオリジナルよりアーカイブ2020年12月12日閲覧
  68. ^ Perenson, Melissa J. (2007年1月4日). 「日立、1テラバイトのハードドライブを発表」www.pcworld.com。2012年10月24日時点のオリジナルよりアーカイブ。 2020年12月5日閲覧
  69. ^ 「ペタバイトとはどのようなものか?」 。2018年1月28日時点のオリジナルよりアーカイブ。 2018年2月19日閲覧
  70. ^ Gross, Grant (2007年11月24日). 「研究によると、インターネットは2年で限界に達する可能性がある」PC World。2007年11月26日時点のオリジナルよりアーカイブ2007年11月28日閲覧
  71. ^ 「ゼタバイト時代が正式に幕を開ける(その金額は?)」Cisco Blogs . 2016年9月9日. 2021年8月2日時点のオリジナルよりアーカイブ。 2021年8月4日閲覧
  72. ^ Cline, Marshall. 「9ビットバイトのマシンは想像できます。でも、16ビットバイトや32ビットバイトは考えられませんよね?」。2019年3月21日アーカイブ。 2015年6月18日閲覧
  73. ^ Klein, Jack (2008), Integer Types in C and C++, 2010年3月27日アーカイブ2015年6月18日閲覧。
  74. ^ Cline, Marshall. 「C++ FAQ: バイト、文字、および文字に関するルール」。2019年3月21日アーカイブ2015年6月18日閲覧
  75. ^ 「外部インターフェース/API」。ノースウェスタン大学。2018年8月9日にオリジナルからアーカイブ2016年9月2日閲覧。

さらに詳しい情報

  • 「2.5 バイト操作」(PDF)。PDP-10命令セットによるプログラミング(PDF)。PDP-10システムリファレンスマニュアル。第1巻。Digital Equipment Corporation (DEC)。1969年8月。2-15~ 2-17ページ 。 2017年4月5日にオリジナルからアーカイブ(PDF) 。 2017年4月5日閲覧
  • アシュリー・テイラー。「ビットとバイト」。スタンフォード大学。https://web.stanford.edu/class/cs101/bits-bytes.html
「https://en.wikipedia.org/w/index.php?title=Byte&oldid=1321569292#Multiple-byte_units」より取得