オフセットバイナリ

オフセットバイナリ[ 1]は、過剰 K [1] 過剰N過剰 e [ 2] [3] 過剰コードまたはバイアス表現とも呼ばれ符号付き数nを符号なし数n + Kに対応するビットパターンで表す符号付き数表現の方法であり、Kはバイアス値またはオフセットです。オフセットバイナリには標準はありませんが、ほとんどの場合、nビットのバイナリワードKはK  = 2 n −1です(たとえば、4桁の2進数のオフセットは 2 3 =8 になります)。[要出典]これにより、最小の負の値はすべてゼロで表され、「ゼロ」の値は最上位ビットが 1 で他のすべてのビットがゼロで表され、最大の正の値はすべて 1 で表されます(便利なことに、これは2 の補数を使用するのと同じですが、最上位ビットが反転しています)。また、論理比較演算では、真の形式の数値比較演算と同じ結果が得られますが、2の補数表記では、比較対象の数値が同じ符号を持つ場合にのみ、論理比較は真の形式の数値比較演算と一致します。そうでない場合は、比較の意味が反転し、すべての負の値はすべての正の値よりも大きいとみなされます。

初期の同期多重化電信で使用された5 ビットのBaudot コードは、オフセット 1 (過剰 1 )反射バイナリ (グレイ) コードとして考えることができます。

オフセット64(超過64)表記の歴史的に顕著な例としては、IBM System/360およびSystem/370世代のコンピュータにおける浮動小数点(指数)表記が挙げられる。「特性」(指数)は7ビットの超過64数の形をとった(同じバイトの上位ビットには仮数の符号が含まれていた)。[4]

1970 年代から 1980 年代にかけてさまざまなプログラミング言語 (特にBASIC ) で使用されていた浮動小数点形式であるMicrosoft バイナリ形式の 8 ビット指数は、オフセット 129 表記 (超過 129 ) を使用してエンコードされました。

IEEE浮動小数点演算規格(IEEE 754)では、様々な精度形式において、指数部にオフセット表記が用いられています。しかしながら、異例なことに、「excess 2 n −1ではなく「excess 2 n −1  − 1」(つまり、excess-15excess-127excess-1023excess-16383)が用いられています。これは、指数の先頭(上位)ビットを反転しても、指数が正しい2の補数表記に変換されないことを意味します。

オフセットバイナリは、デジタル信号処理(DSP)でよく使用されます。ほとんどのアナログ-デジタル(A/D)チップとデジタル-アナログ(D/A)チップは単極性であるため、双極性信号(正と負の両方の値を持つ信号)を処理できません。この問題の簡単な解決策は、アナログ信号にA/DコンバータとD/Aコンバータのレンジの半分に相当するDCオフセットをバイアスすることです。こうすることで、結果として得られるデジタルデータはオフセットバイナリ形式になります。[5]

ほとんどの標準的なコンピュータ CPU チップは、オフセット バイナリ形式を直接処理できません[引用が必要]。CPU チップは通常、符号付き整数と符号なし整数、および浮動小数点数値形式のみを処理できます。オフセット バイナリ値は、これらの CPU チップによっていくつかの方法で処理できます。データは符号なし整数として扱われるだけの場合があり、その場合、プログラマはソフトウェアでゼロ オフセットを処理する必要があります。また、ゼロ オフセットを減算するだけで、データは符号付き整数形式 (CPU がネイティブに処理できる形式) に変換できます。nビット ワードの最も一般的なオフセットは 2 n −1であり、これは最初のビットが 2 の補数に対して反転されていることを意味するため、別の減算手順は必要なく、最初のビットを反転するだけで済みます。これは、ハードウェアでは便利な単純化になることがあり、ソフトウェアでも便利な場合があります。

比較のために2の補数を含む4ビットのオフセットバイナリ表[6]

小数点オフセットバイナリ、
K = 8
2の
補数
711110111
611100110
511010101
411000100
310110011
210100010
110010001
010000000
−101111111
−201101110
−301011101
−401001100
−500111011
−600101010
−700011001
−800001000

オフセットバイナリは、最上位ビットを反転することで2の補数に変換できます。例えば、8ビット値の場合、オフセットバイナリ値を0x80と排他的論理和(XOR)することで2の補数に変換できます。特殊なハードウェアでは、ビットをそのまま受け入れ、その値を反転した意味で使用する方が簡単な場合があります。

[2] [3] [7]
コード比較[2] [3] [7]
コードタイプパラメータ重量距離チェック中補体5人グループ単純な加算
オフセット、k幅、n係数、q
8421コードn [8]0418 4 2 11~4いいえいいえいいえいいえ
ヌードコード[8] [9]3n +2 [ 8]2532~5はい9はいはい
スティビッツコード[10]n + 3 [8]3418 4  −2  −11~4いいえ9はいはい
ダイヤモンドコード[8] [11]27 n + 6 [8] [12] [13]68273~8はい9はいはい
25 n + 15 [12] [13]158253歳以上はいはい?はい
23 n + 24 [12] [13]248233歳以上はいはい?はい
19 n + 42 [12] [13]428193~8はい9はいはい
小数点
 
0
1
2
3
4
5
6
7
8
9
8421
4321
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
スティビッツ[10]
4321
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
ヌード[8] [9]
54321
00010
00101
01000
01011
01110
10001
10100
10111
11010
11101
ダイヤモンド[8]
87654321
00000110
00100001
00111100
01010111
01110010
10001101
10101000
11000011
11011110
11111001
19 n + 42 [12] [13]
87654321
00101010
00111101
01010000
01100011
01110110
10001001
10011100
10101111
11000010
11010101

参照

参考文献

  1. ^ ab Chang, Angela; Chen, Yen; Delmas, Patrice (2006-03-07). 「2.5.2: データ表現:オフセットバイナリ表現(Excess-K)」. COMPSCI 210S1T 2006 (PDF) . コンピュータサイエンス学部、オークランド大学、ニュージーランド. p. 18. 2016年2月4日閲覧
  2. ^ abc ドクター、フォルケルト;シュタインハウアー、ユルゲン (1973-06-18)。デジタルエレクトロニクス。 Philips Technical Library (PTL) / Macmillan Education (英語第 1 版の再版)。オランダ、アイントホーフェン: The Macmillan Press Ltd. / NV Philips の Gloeilampenfabrieken。 p. 44.土井:10.1007/978-1-349-01417-0。ISBN 978-1-349-01419-4. SBN 333-13360-9. 2018年7月1日閲覧(270 ページ)(注:これは、2 巻からなるドイツ語版の第 1 巻の翻訳に基づいています。)
  3. ^ abc ドクター、フォルケルト;スタインハウアー、ユルゲン (1975) [1969]。 「2.4.4.4. Exzeß-e-Kodes」。Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik。フィリップス・ファッハビュッヒャー(ドイツ語)。 Vol. I (改良および拡張された第 5 版)。ハンブルク、ドイツ: Deutsche Philips GmbH。ページ51、53–54。ISBN 3-87145-272-6(xii+327+3 ページ) (注: 第 1 巻のドイツ語版は 1969 年、1971 年に出版され、1972 年と 1975 年に 2 版出版されました。第 2 巻は 1970 年、1972 年、1973 年、1975 年に出版されました。)
  4. ^ IBM System/360 Principles of Operation Form A22-6821。WWW上で様々な版が入手可能。[ページ追加が必要]
  5. ^ サウスイースタンマサチューセッツ大学電気・コンピュータサイエンス学部、マサチューセッツ州ノースダートマス、米国 (1988). Chen, Chi-hau (ed.). 信号処理ハンドブック. ニューヨーク、米国: Marcel Dekker, Inc. / CRC Press . ISBN 0-8247-7956-8. 2016年2月4日閲覧
  6. ^ 「データ変換バイナリコード形式」(PDF) . Intersil Corporation(2000年発行) 1997年5月 AN9657.1 . 2016年2月4日閲覧
  7. ^ ab Morgenstern、ボードー (1997 年 1 月) [1992 年 7 月]。 「10.5.3.5 超過電子コード」。Elektronik: Digitale Schaltungen und Systeme。 Studium Technik (ドイツ語)。 Vol. 3 (改訂第 2 版)。フリードリッヒ ビューエグ & ゾーン フェルラーグゲゼルシャフト mbH。 pp.  120–121 .土井:10.1007/978-3-322-85053-9。ISBN 978-3-528-13366-5. 2020年5月26日閲覧(18+393ページ)
  8. ^ abcdefgh ダイアモンド、ジョセフ・M. (1955年4月) [1954年11月12日]. 「デジタルコンピュータの検査コード」. IRE紀要. 書簡. 43 (4). ニューヨーク、アメリカ合衆国: 483–490 [487–488]. doi :10.1109/JRPROC.1955.277858. eISSN  2162-6634. ISSN  0096-8390.(2 ページ) (注: このレポートで説明されている結果は、1950 年から 1951 年にかけて、ペンシルバニア大学ムーア工学部のジョセフ M. ダイアモンドとモリス プロトキンがバローズ加算機社との契約に基づいて行った以前研究基づいます。)
  9. ^ ab Nuding、エーリッヒ (1959-01-01)。「Ein Sicherheitscode für Fernschreibgeräte, die zur Ein- und Ausgabe an elektronischen Rechenmaschine verwendet werden」数学と機械に関する知識。クライネ・ミッテルンゲン(ドイツ語)。39 ( 5–6 ): 429。Bibcode :1959ZaMM...39..249N。土井:10.1002/zamm.19590390511。(1ページ)
  10. ^ ab Stibitz, George Robert (1954-02-09) [1941-04-19]. 「複雑なコンピュータ」. 特許 US2668661A . 2020年5月24日閲覧。[1] (102ページ)
  11. ^ Plotkin, Morris (1960年9月). 「最小距離を指定した二進コード」. IRE Transactions on Information Theory . IT-6 (4): 445– 450. doi :10.1109/TIT.1960.1057584. eISSN  2168-2712. ISSN  0096-1000. S2CID  40300278.(注: 1951 年 1 月にペンシルバニア大学研究部門レポート 51-20 としても出版されました。)
  12. ^ abcde Brown, David T. (1960年9月). 「算術演算におけるバイナリコードのエラー検出と訂正」. IRE Transactions on Electronic Computers . EC-9 (3): 333– 337. doi :10.1109/TEC.1960.5219855. ISSN  0367-9950. S2CID  28263032.
  13. ^ abcde Peterson, William Wesley ; Weldon, Jr., Edward J. (1972) [1971年2月、1961年]. 「15.3 算術符号 / 15.6 自己補数型AN + B符号」. ハワイ州ホノルルにて執筆. Error-Correcting Codes (第2版). マサチューセッツ州ケンブリッジ、米国:マサチューセッツ工科大学( The MIT Press ). pp.  454– 456, 460–461 [456, 461]. ISBN 0-262-16-039-0LCCN  76-122262。(xii+560+4ページ)

さらに読む

  • Gosling, John B. (1980). 「6.8.5 指数表現」. Sumner, Frank H. (編). 『デジタルコンピュータのための演算ユニットの設計』 . Macmillan Computer Science Series (第1版).マンチェスター大学コンピュータサイエンス学部,マンチェスター, 英国: The Macmillan Press Ltd. pp. 91, 137. ISBN 0-333-26397-9. […] [指数]値は、数値の2進数範囲の半分だけシフトされます。[…] この特殊な形式は、従来の値に定数を加えたものであるため、バイアス指数と呼ばれることがあります。一部の著者はこれを特性値と呼んでいますが、 CDCなどが仮数部に使用するため、この用語は使用すべきではありません。これは「過剰-」表現とも呼ばれ、例えば7ビット指数の場合、-は64です(2 7−1  = 64)。[…]
  • Savard, John JG (2018) [2006]. 「10進表現」. quadibloc . 2018年7月16日時点のオリジナルよりアーカイブ。 2018年7月16日閲覧(注: Excess-3、Excess-6、Excess-11、Excess-123 について言及しています。)
  • Savard, John JG (2018) [2007]. 「Chen-Ho符号化と高密度パック10進数」. quadibloc . 2018年7月3日時点のオリジナルよりアーカイブ。 2018年7月16日閲覧(注: Excess-25、Excess-250 について言及しています。)
  • Savard, John JG (2018) [2005]. 「浮動小数点形式」. quadibloc . 2018年7月3日時点のオリジナルよりアーカイブ。 2018年7月16日閲覧(注: Excess-32、Excess-64、Excess-128、Excess-256、Excess-976、Excess-1023、Excess-1024、Excess-2048、Excess-16384 について言及しています。)
  • Savard, John JG (2018) [2005]. 「コンピュータ演算」. quadibloc . 2018年7月16日時点のオリジナルよりアーカイブ。 2018年7月16日閲覧(注: Excess-64、Excess-500、Excess-512、Excess-1024 について言及しています。)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Offset_binary&oldid=1321822303"