Přebytek-3 - Excess-3
Stibitzův kód | |
---|---|
Číslice | 4 |
stopy | 4 |
Číselné hodnoty | 8 4 −2 −1 |
Hmotnost | 1..3 |
Kontinuita | Ne |
Cyklický | Ne |
Minimální vzdálenost | 1 |
Maximální vzdálenost | 4 |
Nadbytek | 0,7 |
Lexikografie | 1 |
Doplněk | 9 |
Přebytek-3 , 3-přebytek nebo 10-přebytek-3 binární kód (často zkráceně XS-3 , 3XS nebo X3 ), posunutý binární nebo Stibitzův kód (po Georgovi Stibitzovi , který v roce 1937 postavil sčítací stroj založený na relé) autokomplementární binárně kódovaný dekadický (BCD) kód a číselná soustava . Jedná se o zaujaté zastoupení . Kód Excess-3 byl použit na některých starších počítačích, mimo jiné i v pokladnách a ručních přenosných elektronických kalkulačkách ze 70. let.
Reprezentace
Předpjaté kódy jsou způsob, jak reprezentovat hodnoty s vyváženým počtem kladných a záporných čísel pomocí předem určeného čísla N jako hodnoty předpětí. Předpjaté kódy (a šedé kódy ) jsou nevážené kódy. V kódu přebytečné 3 jsou čísla reprezentována jako desetinná místa a každá číslice je reprezentována čtyřmi bity jako hodnota číslice plus 3 (částka „přebytek“):
- Nejmenší binární číslo představuje nejmenší hodnotu ( 0 - přebytek ).
- Největší binární číslo představuje největší hodnotu ( 2 N +1 - přebytek - 1 ).
Desetinný | Přebytek-3 | Stibitz | BCD 8-4-2-1 | Binární | Rozšíření
CCITT 3 ze 6 |
Hammingovo rozšíření 4 z 8 |
---|---|---|---|---|---|---|
-3 | 0000 | pseudotetrade | N / A | N / A | N / A | N / A |
-2 | 0001 | pseudotetrade | ||||
-1 | 0010 | pseudotetrade | ||||
0 | 0011 | 0011 | 0000 | 0000 | … 10 | … 0011 |
1 | 0100 | 0100 | 0001 | 0001 | … 11 | … 1011 |
2 | 0101 | 0101 | 0010 | 0010 | … 10 | … 0101 |
3 | 0110 | 0110 | 0011 | 0011 | … 10 | … 0110 |
4 | 0111 | 0111 | 0100 | 0100 | … 00 | … 1000 |
5 | 1000 | 1000 | 0101 | 0101 | … 11 | … 0111 |
6 | 1001 | 1001 | 0110 | 0110 | … 10 | … 1001 |
7 | 1010 | 1010 | 0111 | 0111 | … 10 | … 1010 |
8 | 1011 | 1011 | 1000 | 1000 | … 00 | … 0100 |
9 | 1100 | 1100 | 1001 | 1001 | … 10 | … 1100 |
10 | 1101 | pseudotetrade | pseudotetrade | 1010 | N / A | N / A |
11 | 1110 | pseudotetrade | pseudotetrade | 1011 | ||
12 | 1111 | pseudotetrade | pseudotetrade | 1100 | ||
13 | N / A | N / A | pseudotetrade | 1101 | ||
14 | pseudotetrade | 1110 | ||||
15 | pseudotetrade | 1111 |
Chcete-li zakódovat číslo, například 127, jednoduše zakódujte každou z desetinných číslic, jak je uvedeno výše, přičemž uvedete (0100, 0101, 1010).
Aritmetika Excess-3 používá jiné algoritmy než normální neobjektivní BCD nebo binární čísla pozičního systému . Po přidání dvou přebytečných 3 číslic je surový součet přebytek-6. Například po přidání 1 (0100 v přebytku-3) a 2 (0101 v přebytku-3) vypadá součet jako 6 (1001 v přebytku-3) namísto 3 (0110 v přebytku-3). Abychom tento problém napravili, po přidání dvou číslic je nutné odstranit zvláštní zkreslení odečtením binárního 0011 (desetinné číslo 3 v nezaujatém binárním souboru), pokud je výsledná číslice menší než desetinné číslo 10, nebo odečtením binárního čísla 1101 (desítkové 13 v nezaujatém formátu). binární), pokud došlo k přetečení (přenášení). (Ve 4bitovém binárním formátu je odečtení binárního čísla 1101 ekvivalentní přidání 0011 a naopak.)
Motivace
Primární výhodou kódování přebytečného 3 nad kódováním bez předpětí je to, že desítkové číslo může být doplněno devítkami (pro odečtení) tak snadno, jak může být doplněno binární číslo : pouhým převrácením všech bitů. Když je součet dvou přebytečných 3 číslic větší než 9, přenosový bit 4bitového sčítače bude nastaven vysoko. Funguje to, protože po přidání dvou číslic bude výsledkem součtu hodnota „překročení“ 6. Protože 4bitové celé číslo může obsahovat pouze hodnoty 0 až 15, přebytek 6 znamená, že jakákoli částka nad 9 přeteče (způsobí provedení).
Další výhodou je, že kódy 0000 a 1111 se nepoužívají pro žádnou číslici. Porucha paměti nebo základního přenosového vedení může mít za následek tyto kódy. Je také obtížnější zapsat nulový vzor na magnetická média.
Příklad
Příklad převaděče BCD 8-4-2-1 na přebytečný 3 ve VHDL :
entity bcd8421xs3 is
port (
a : in std_logic;
b : in std_logic;
c : in std_logic;
d : in std_logic;
an : buffer std_logic;
bn : buffer std_logic;
cn : buffer std_logic;
dn : buffer std_logic;
w : out std_logic;
x : out std_logic;
y : out std_logic;
z : out std_logic
);
end entity bcd8421xs3;
architecture dataflow of bcd8421xs3 is
begin
an <= not a;
bn <= not b;
cn <= not c;
dn <= not d;
w <= (an and b and d ) or (a and bn and cn)
or (an and b and c and dn);
x <= (an and bn and d ) or (an and bn and c and dn)
or (an and b and cn and dn) or (a and bn and cn and d);
y <= (an and cn and dn) or (an and c and d )
or (a and bn and cn and dn);
z <= (an and dn) or (a and bn and cn and dn);
end architecture dataflow; -- of bcd8421xs3
Rozšíření
Prodloužení 3 ze 6 | |
---|---|
Číslice | 6 |
stopy | 6 |
Hmotnost | 3 |
Kontinuita | Ne |
Cyklický | Ne |
Minimální vzdálenost | 2 |
Maximální vzdálenost | 6 |
Lexikografie | 1 |
Doplněk | (9) |
Prodloužení 4 z 8 | |
---|---|
Číslice | 8 |
stopy | 8 |
Hmotnost | 4 |
Kontinuita | Ne |
Cyklický | Ne |
Minimální vzdálenost | 4 |
Maximální vzdálenost | 8 |
Lexikografie | 1 |
Doplněk | 9 |
- Rozšíření kódu 3 ze 6: Kód nadbytečného 3 se někdy používá také pro přenos dat, poté se často rozšíří na 6bitový kód na CCITT GT 43 č. 1, kde jsou nastaveny 3 ze 6 bitů.
- Rozšíření kódu 4 z 8: Jako alternativu k kódu transceiveru IBM (což je kód 4 z 8 s Hammingovou vzdáleností 2) je také možné definovat kód 4 z 8 nadbytečného 3 rozšíření dosahující Hammingovy vzdálenosti 4, pokud mají být přeneseny pouze číslice denáře.
Viz také
- Ofsetová binární , nadměrná N , předpjatá reprezentace
- Přebytek-128
- Kód přebytečné šedé
- Posunutý šedý kód
- Šedý kód
- m-of-n kód
- Aikenův kód