オフセットバイナリ[1]は、過剰 K [1] 、過剰N、過剰 e [ 2] [3] 過剰コードまたはバイアス表現とも呼ばれ、符号付き数値の表現方法であり、符号付き数値nは、符号なし数値n + Kに対応するビットパターンで表され、Kはバイアス値またはオフセットです。オフセットバイナリには標準はありませんが、ほとんどの場合、nビットのバイナリワードのKはK = 2 n −1です(たとえば、4桁のバイナリ数のオフセットは 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-15、excess-127、excess-1023、excess-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]
オフセット バイナリは、最上位ビットを反転することで 2 の補数に変換できます。たとえば、8 ビット値の場合、オフセット バイナリ値は 0x80 と XOR 演算され、2 の補数に変換されます。特殊なハードウェアでは、ビットをそのまま受け入れ、その値を反転した意味に適用する方が簡単な場合があります。
関連コード
- [2] [3] [7]
参照
参考文献
- ^ ab Chang, Angela; Chen, Yen; Delmas, Patrice (2006-03-07). 「2.5.2: データ表現: オフセットバイナリ表現 (Excess-K)」. COMPSCI 210S1T 2006 (PDF) . コンピュータサイエンス学部、オークランド大学、ニュージーランド。p. 18 . 2016-02-04に取得。
- ^ abc ドクター、フォルケルト;シュタインハウアー、ユルゲン (1973-06-18)。デジタルエレクトロニクス。フィリップス テクニカル ライブラリ (PTL) / マクミラン教育 (英語第 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 巻の翻訳に基づいています。)
- ^ 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 年に出版されました。)
- ^ IBM System/360 操作原則フォーム A22-6821。さまざまなエディションが WWW で入手可能。[ページが必要]
- ^サウス イースタンマサチューセッツ大学電気・コンピュータサイエンス学部、ノースダートマス、マサチューセッツ州、米国 (1988)。Chen, Chi-hau (編)。信号処理ハンドブック。ニューヨーク、米国: Marcel Dekker, Inc. / CRC Press。ISBN 0-8247-7956-8. 2016年2月4日閲覧。
- ^ 「データ変換バイナリコード形式」(PDF)。Intersil Corporation (2000 年発行)。1997 年 5 月。AN9657.1 。2016 年 2 月 4 日に閲覧。
- ^ ab Morgenstern、ボードー (1997 年 1 月) [1992 年 7 月]。 「10.5.3.5 超過電子コード」。Elektronik: Digitale Schaltungen und Systeme。 Studium Technik (ドイツ語)。 Vol. 3 (改訂第 2 版)。フリードリッヒ ビューエグ & ゾーン フェルラーグゲゼルシャフト mbH。 120–121ページ。土井:10.1007/978-3-322-85053-9。ISBN 978-3-528-13366-5. 2020年5月26日閲覧。(xviii+393ページ)
- ^ abcdefgh Diamond, Joseph 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. 2020-05-26にオリジナルからアーカイブ。2020-05-26に取得。(2 ページ) (注: このレポートで説明されている結果は、1950 年から 1951 年にかけて、ペンシルバニア大学ムーア工学部のジョセフ M. ダイアモンドとモリス プロトキンがバローズ アディング マシン社との契約に基づいて実施した以前の研究に基づいています。)
- ^ 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。書誌コード:1959ZaMM...39..249N。土井:10.1002/zamm.19590390511。(1ページ)
- ^ ab Stibitz, George Robert (1954-02-09) [1941-04-19]. 「複雑なコンピュータ」. 特許 US2668661A . 2020-05-24閲覧。[1] (102ページ)
- ^ 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 としても出版されました。)
- ^ 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 。
- ^ abcde ピーターソン、ウィリアム・ウェスリー、ウェルドン・ジュニア、エドワード・J. (1972) [1971年2月、1961年]。「15.3 算術コード / 15.6 自己補完AN + Bコード」。ハワイ州ホノルルで執筆。エラー訂正コード(第2版)。マサチューセッツ州ケンブリッジ、米国:マサチューセッツ工科大学( MIT プレス)。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 コンピュータ サイエンス シリーズ (第 1 版)。マンチェスター大学コンピュータ サイエンス学部、マンチェスター、英国: The Macmillan Press Ltd。pp. 91、137。ISBN 0-333-26397-9.
[…] [我々は]数値の2進数範囲の半分だけシフトされた[指数]値を使用します。 […] この特別な形式は、従来の値に定数を加えたものであるため、バイアス指数と呼ばれることがあります。 一部の著者はこれを特性と呼んでいますが、この用語は使用すべきではありません。CDCなどがこの用語を仮数に使用するためです。 これは「過剰 -」表現とも呼ばれ、たとえば - は 7 ビット指数 (2 7−1 = 64) の場合 64 です。 […]
- Savard, John JG (2018) [2006]. 「10進表現」. quadibloc . 2018-07-16にオリジナルからアーカイブ。2018-07-16に取得。(注: Excess-3、Excess-6、Excess-11、Excess-123 について言及しています。)
- Savard, John JG (2018) [2007]. 「Chen-Ho エンコーディングと高密度パック小数点」. quadibloc . 2018-07-03 にオリジナルからアーカイブ。2018-07-16に取得。(注: Excess-25、Excess-250 について言及しています。)
- Savard, John JG (2018) [2005]. 「浮動小数点形式」. quadibloc . 2018-07-03 にオリジナルからアーカイブ。2018-07-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-07-16にオリジナルからアーカイブ。2018-07-16に取得。(注: Excess-64、Excess-500、Excess-512、Excess-1024 について言及しています。)
