Offset binární - Offset binary
Offset binární , také označovaný jako nadměrné-K , excess- N , nadměrné-e , nadměrné kódu nebo předepjat reprezentace , je způsob podepsána zobrazení čísel , kde se znaménkem číslo n představuje vzorek bitů, odpovídající neoznačené číslo n + K , K je hodnota předpětí nebo offset . Neexistuje žádný standard pro offsetový binární soubor, ale nejčastěji K pro n- bitové binární slovo je K = 2 n −1 (například offset pro čtyřmístné binární číslo by byl 2 3 = 8). To má za následek, že minimální záporná hodnota je reprezentována nulami, hodnota „nula“ je představována 1 v nejvýznamnějším bitu a nula ve všech ostatních bitech a maximální kladná hodnota je reprezentována všemi ( pohodlně je to stejné jako použití doplňku dvou, ale s nejvýznamnějším bitem je invertován). Důsledkem toho je také to, že při operaci logického porovnání získáme stejný výsledek jako při operaci numerického porovnání se skutečným tvarem, zatímco při zápisu dvojkového doplňku bude logické srovnání souhlasit s operací numerického porovnání se skutečným tvarem právě tehdy, když jsou čísla ve srovnání mají stejné znaménko. Jinak bude smysl srovnání obrácen, přičemž všechny záporné hodnoty budou brány jako větší než všechny kladné hodnoty.
5-bitový Baudot kód použitý na počátku synchronních multiplexování telegrafů může být viděn jako ofset-1 ( nadbytek-1 ) odráží binární kód (šedá) .
Jeden historicky prominentní příklad notace offset-64 ( over-64 ) byl v notaci s plovoucí desetinnou čárkou (exponenciální) v generacích počítačů IBM System / 360 a System / 370. „Charakteristika“ (exponent) měla podobu sedmibitového čísla nad 64 (bit vyššího řádu stejného bajtu obsahoval znaménko významnosti ).
8bitový exponent v Microsoft Binary Format , formát s plovoucí desetinnou čárkou používaný v různých programovacích jazycích (zejména BASIC ) v 70. a 80. letech, byl zakódován pomocí notace offset-129 ( přebytek-129 ).
IEEE Standard plovoucí-aritmetika bodu (IEEE 754) používá různé velikosti exponentem, ale také používá offset notaci pro formát každého přesností. Neobvykle však místo použití „přebytek 2 n −1 “ používá „přebytek 2 n −1 - 1“ (tj. Přebytek-15 , přebytek-127 , přebytek-1023 , přebytek-16383 ), což znamená, že invertování -order) bit exponentu nepřevede exponenta na opravu zápisu dvou doplňků.
Offset binární se často používá při digitálním zpracování signálu (DSP). Většina analogově-digitálních (A / D) a digitálně-analogových (D / A) čipů je unipolární, což znamená, že nemohou zpracovat bipolární signály (signály s kladnými i zápornými hodnotami). Jednoduchým řešením je zkreslení analogových signálů s DC offsetem rovným polovině rozsahu A / D a D / A převodníku. Výsledná digitální data pak končí v offsetovém binárním formátu.
Většina standardních počítačových procesorových čipů nedokáže zpracovat offsetový binární formát přímo. Čipy CPU obvykle zvládnou pouze podepsaná a nepodepsaná celá čísla a formáty hodnot s plovoucí desetinnou čárkou. Ofsetové binární hodnoty lze pomocí těchto čipů CPU zpracovat několika způsoby. S daty lze zacházet jako s celými čísly bez znaménka, což vyžaduje, aby programátor pracoval s nulovým offsetem v softwaru. Data lze také převést na celočíselný formát se znaménkem (který CPU může nativně zpracovat) jednoduchým odečtením nulového posunu. V důsledku toho, že nejběžnějším offsetem pro n- bitové slovo je 2 n −1 , což znamená, že první bit je invertován vzhledem k doplňku dvou, není potřeba samostatný krok odčítání, ale jeden jednoduše může invertovat první bit. To je někdy užitečné zjednodušení v hardwaru a může to být výhodné i v softwaru.
Tabulka ofsetového binárního souboru pro čtyři bity s doplňkem dvou pro srovnání:
| Desetinný | Offset binární, K = 8 |
Doplněk dvou |
|---|---|---|
| 7 | 1111 | 0111 |
| 6 | 1110 | 0110 |
| 5 | 1101 | 0101 |
| 4 | 1100 | 0100 |
| 3 | 1011 | 0011 |
| 2 | 1010 | 0010 |
| 1 | 1001 | 0001 |
| 0 | 1000 | 0000 |
| -1 | 0111 | 1111 |
| -2 | 0110 | 1110 |
| -3 | 0101 | 1101 |
| -4 | 0100 | 1100 |
| -5 | 0011 | 1011 |
| -6 | 0010 | 1010 |
| -7 | 0001 | 1001 |
| -8 | 0000 | 1000 |
Ofsetový binární soubor lze převést na dvojkový doplněk invertováním nejvýznamnějšího bitu. Například s 8bitovými hodnotami může být offsetová binární hodnota XORed s 0x80 za účelem převodu na dvojkový doplněk. Ve specializovaném hardwaru může být jednodušší přijmout bit tak, jak je, ale použít jeho hodnotu v obráceném významu.
Související kódy
| Kód | Typ | Parametry | Závaží | Vzdálenost | Probíhá kontrola | Doplněk | Skupiny po 5 | Jednoduché přidání | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Ofset, k | Šířka, n | Faktor, q | ||||||||
| 8421 kód | n | 0 | 4 | 1 | 8 4 2 1 | 1–4 | Ne | Ne | Ne | Ne |
| Nuding kód | 3 n + 2 | 2 | 5 | 3 | N / A | 2–5 | Ano | 9 | Ano | Ano |
| Stibitzův kód | n + 3 | 3 | 4 | 1 | 8 4 −2 −1 | 1–4 | Ne | 9 | Ano | Ano |
| Diamantový kód | 27 n + 6 | 6 | 8 | 27 | N / A | 3–8 | Ano | 9 | Ano | Ano |
| 25 n + 15 | 15 | 8 | 25 | N / A | 3+ | Ano | Ano | ? | Ano | |
| 23 n + 24 | 24 | 8 | 23 | N / A | 3+ | Ano | Ano | ? | Ano | |
| 19 n + 42 | 42 | 8 | 19 | N / A | 3–8 | Ano | 9 | Ano | Ano | |
|
|
|
|
|
|
Viz také
- Podepsané číselné reprezentace
- Binární číslo
- Přebytek-3
- Přebytek-128
- Předpětí exponentu
- Nadměrně šedý kód
- Jeden doplněk
- Binární offsetový nosič
Reference
Další čtení
-
Gosling, John B. (1980). „6.8.5 Zastoupení exponentů“. V Sumner, Frank H. (ed.). Návrh aritmetických jednotek pro digitální počítače . Macmillan Computer Science Series (1. vyd.). Department of Computer Science, University of Manchester , Manchester, Velká Británie: The Macmillan Press Ltd . 91, 137. ISBN 0-333-26397-9.
[…] [Použijeme hodnotu [exponentu], která je posunuta o polovinu binárního rozsahu čísla. […] Tato speciální forma se někdy označuje jako zkreslený exponent , protože se jedná o konvenční hodnotu plus konstantu. Někteří autoři to nazvali charakteristikou, ale tento termín by se neměl používat, protože CDC a jiní tento termín používají pro mantisu . Také se označuje jako reprezentace „přebytek -“, kde například - je 64 pro 7bitový exponent (2 7−1 = 64). […]
- Savard, John JG (2018) [2006]. "Desetinná vyjádření" . quadibloc . Archivovány od originálu dne 2018-07-16 . Citováno 2018-07-16 . (Pozn. Zmínky Přebytek-3, Přebytek-6, Přebytek-11, Přebytek-123.)
- Savard, John JG (2018) [2007]. "Chen-Ho kódování a hustě zabalené desetinné číslo" . quadibloc . Archivovány od originálu dne 2018-07-03 . Citováno 2018-07-16 . (Pozn. Zmiňuje přebytek-25, přebytek-250.)
- Savard, John JG (2018) [2005]. "Formáty s plovoucí desetinnou čárkou" . quadibloc . Archivovány od originálu dne 2018-07-03 . Citováno 2018-07-16 . (Pozn. Zmiňuje přebytek-32, přebytek-64, přebytek-128, přebytek-256, přebytek-976, přebytek-1023, přebytek-1024, přebytek-2048, přebytek-16384.)
- Savard, John JG (2018) [2005]. "Počítačová aritmetika" . quadibloc . Archivovány od originálu dne 2018-07-16 . Citováno 2018-07-16 . (Pozn. Zmiňuje přebytek 64, přebytek 500, přebytek 512, přebytek 1024.)