バイトについて詳しく解説

導入

バイトの倍数
IEC 60027-2 で定義されているとおり
SI プレフィックスバイナリプレフィックス
名前シンボル価値名前シンボル価値
キロバイト10 3キビバイトKiB 2 10
メガバイトMB 10 6メビバイトミオ2 20
ギガバイト行く10 9ギビバイトジオ2 30
テラバイト10 12テビバイトティオ2 40
ペタバイト10 15ペビバイトピオ2 50
エクサバイトエオ10 18エクスビバイト叡王2 60
ゼタバイト10 21ゼビバイトジオ2 70
ヨタバイト10 24ヨビバイトイーオ2 80
バイトの倍数
伝統的な使用法
名前シンボル価値
キロバイト2 10
メガバイトMB 2 20
ギガバイト行く2 30

バイトはデータを測定する計算測定単位です。バイト自体は 8 ビット、つまり 8 つの 2 進数で構成されます。隣接するビットのセットであるバイトは、ほとんどの場合サイズが 1 バイトであり、2 つのワードは一般に、しかし誤って同義とみなされます。

バイトについて詳しく解説

記号

バイトの記号は小文字の「o」です。

国際単位系 (SI) では、数字の 0 と混同される危険があるため、文字「o」を大文字で使用することはできません。この問題は解決されておらず、情報単位は IS の一部ではありません。

プロパティ

バイナリ表現のプロパティ

1 バイトは 2 8 = 256 個の異なる値を表すことができます。任意のバイトの値は、0 ~ 255 (基数 10) の自然整数で書き込むことができます。また、00000000 2 ~ 11111111 2の 8 桁の 2 進数、または 00 16 ~ FF 16の 2 桁の 16 進数で書き込むこともできます。 16 進表記は、バイトの値を書き留めるのに便利でコンパクトであるため、多くのコンピューター言語で使用できます。

バイトは、「符号なし」の計算で呼ばれる、0 ~ 255 (基数 10) の自然整数を表すために使用できます。もう 1 つの一般的な規則である2 の補数を使用すると、-128 から +127 (基数 10) までの整数、つまり「符号付き」数値を記録できます。 「バイナリ システム」の記事も参照してください。

文字を 1 バイトまたは複数バイトで表すために、多くの規則が存在します。特に、フランス語を含む西ヨーロッパ言語の 26 個の小文字、26 個の大文字、10 個の数字、アクセント付き文字、句読点を 1 バイトで表すために広く使用されているISO 8859-1コーディングを挙げることができます。最近のUTF-8エンコーディングでは、任意の文字を文字に応じて 1 ~ 4 バイトで表すことができます。文字エンコーディングに関する記事では、このテーマを詳しく説明します。

バイトについて詳しく解説

10 進数表現のプロパティ

10 進数値の正確なエンコードが必要な一部のアプリケーション (金融アプリケーションなど) では、2 のべき乗は現実的ではない場合があります。また、1 バイトは、最大 2 桁の 10 進数 (00 10から 99 10まで) を格納するために使用されることもあります。各桁は 0000 2 = 0 10から 1001 2 = 9 10までの個別のニブル(4 ビット) にエンコードされます。他のニブル値は、小数点の位置、符号、指定された位置での有効数字の欠如、または別の特別な関数 (無限値、非数値エラー値など) をエンコードするために使用できます。一部の電卓 (および固定小数点計算ソフトウェア ライブラリ、または非常に大きな整数や高精度の値を扱うもの) は、バイナリ コード 10 進数を表す、いわゆる「BCD」形式を使用します。

BCD エンコーディングの使用は、浮動小数点数を表示するためのコストのかかる最終変換を回避できるため、古いシステム (特に EBCDIC を使用するシステム) で一般的でした。さらに、このシステムは、データがパンチカードに手動で入力されていた当時、より実用的でした。BCD 番号を文字に変換するには、バイトごとに 1 つのニブルのみを使用して BCD 番号を 2 つに分割し、数字を 1 つの文字として表すだけで十分でした。最上位ニブルは、それが 10 進数であることを示す固定値をとります。他の高いニブル値は、それが大文字、小文字、または別の記号や句読点であることを示すために使用されました。現在、ほとんどのシステムでは、文字の EBCDIC エンコーディングと数値の BCD エンコーディングが使用されることはほとんどありません。これは、ほとんどの計算が、事前定義された全体精度 (固定バイト数でコーディング) を備えたハードウェアのバイナリ表現で高速に実行されるためです。

BCD システムには、10 進数の固定小数点数または浮動小数点数の正確な表現を維持しながら、ストレージのコンパクト化と計算の高速化を可能にするバリアントがあります。秘訣は、10 進数をグループ化し、数バイトのグループで 2 進数で表現することです。例えば ​​:

  • まず第一に、カルテットでの表現は処理の点でコストがかかることが判明しており、BCD 値は通常、最初にカルテットの分離を削除することによって変換され、次に同じバイト上の 2 つの 10 進数をバイナリで表現します。計算は一度に 1 桁ではなく 2 桁のグループで実行されるため、単純化されます。この表現では、1 つの最上位ビットが未使用のままになります (ただし、特別な値のマーカーとして使用できます)。
  • 2 バイトのグループでちょうど 4 つの 10 進数を表現できます (つまり、これらには 2 16 = 65,536 個の異なる値を含めることができるため、16 ビットで表現できます)。 BCD 表現では、10 進数 4 桁も保存しますが、計算は 1 桁ずつしか実行されません (つまり、4 倍遅くなります)。この表現では、最上位 2 ビットが未使用のままになります (ただし、特別な値のマーカーとして使用できます)。
  • 3 バイトのグループで正確に 7 桁の 10 進数を表現できます (つまり、2 24 = 16,777,216 個の異なる値を含めることができるため、24 ビットで表現できます)。 BCD 表現では、ちょうど 6 桁の 10 進数のみを保存します。この表現では未使用の部分は残りません。
  • 4 バイトのグループで正確に 9 桁の 10 進数を表すことができます (つまり、これらには 2 32 = 4,294,967,296 個の異なる値を含めることができるため、32 ビットで表現できます)。 BCD 表現では、ちょうど 8 桁の 10 進数のみを保存します。この表現では、最上位 2 ビットが未使用のままになります (ただし、これらは特別な値のマーカーとして使用できます)。この表現は、非常に高精度の数値を計算するために数学ライブラリでよく使用されます。
バイトについて詳しく解説
  1. أثمون – arabe
  2. Актэт (інфарматыка) – Belarusian (Taraškievica orthography)
  3. Октет – bulgare
  4. Eizhbit – breton
  5. Oktet (informatika) – tchèque
  6. Oktett (Informatik) – allemand

バイトについて詳しく解説・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。