Chen-Ho-kodning
Chen-Ho-kodning är ett minneseffektivt alternativt system med binär kodning för decimalsiffror .
Det traditionella systemet med binär kodning för decimalsiffror, känt som binärkodad decimal (BCD), använder fyra bitar för att koda varje siffra, vilket resulterar i betydande slöseri med binär databandbredd (eftersom fyra bitar kan lagra 16 tillstånd och används för att lagra endast 10), även när du använder packad BCD .
Kodningen minskar lagringskraven för två decimalsiffror (100 tillstånd) från 8 till 7 bitar, och de för tre decimalsiffror (1000 tillstånd) från 12 till 10 bitar genom att endast använda enkla booleska transformationer och undvika komplexa aritmetiska operationer som en baskonvertering .
Historia
I vad som verkar ha varit en multipel upptäckt utvecklades några av koncepten bakom vad som senare blev känt som Chen-Ho-kodning oberoende av Theodore M. Hertz 1969 och av Tien Chi Chen ( 陳天機 ) (1928–) 1971.
Hertz från Rockwell lämnade in ett patent för sin kodning 1969, vilket beviljades 1971.
Chen diskuterade först sina idéer med Irving Tze Ho ( 何宜慈 ) (1921–2003) 1971. Chen och Ho arbetade båda för IBM vid den tiden, om än på olika platser. Chen rådfrågade också Frank Chin Tung för att självständigt verifiera resultaten av hans teorier. IBM lämnade in ett patent i deras namn 1973, vilket beviljades 1974. Åtminstone 1973 måste Hertz tidigare arbete ha varit känt för dem, eftersom patentet citerar hans patent som känd teknik .
Med input från Joseph D. Rutledge och John C. McPherson cirkulerades den slutliga versionen av Chen-Ho-kodningen inom IBM 1974 och publicerades 1975 i tidskriften Communications of the ACM . Denna version innehöll flera förbättringar, främst relaterade till tillämpningen av kodningssystemet. Den utgör en Huffman -liknande prefixkod .
Kodningen kallades Chen och Ho's system 1975, Chens kodning 1982 och blev känd som Chen-Ho-kodning eller Chen-Ho-algoritm sedan 2000. Efter att ha lämnat in ett patent för det 2001 publicerade Michael F. Cowlishaw ytterligare en förfining av Chen-Ho-kodning känd som tätt packad decimalkodning (DPD) i IEE Proceedings – Computers and Digital Techniques 2002. DPD har därefter antagits som den decimalkodning som används i IEEE 754-2008 och ISO/IEC/IEC/IE9EE: 60555 2011 flyttalsstandarder .
Ansökan
Chen noterade att siffrorna noll till sju helt enkelt kodades med tre binära siffror i motsvarande oktala grupp. Han postulerade också att man kunde använda en flagga för att identifiera en annan kodning för siffrorna åtta och nio, som skulle kodas med en enda bit.
appliceras en serie booleska transformationer på strömmen av inmatade bitar, som komprimerar BCD-kodade siffror från 12 bitar per tre siffror till 10 bitar per tre siffror. Omvända transformationer används för att avkoda den resulterande kodade strömmen till BCD. Likvärdiga resultat kan också uppnås genom att använda en uppslagstabell .
Chen-Ho-kodning är begränsad till att koda uppsättningar med tre decimalsiffror i grupper om 10 bitar (så kallade dekleter ). Av de 1024 tillstånd som är möjliga genom att använda 10 bitar, lämnar det endast 24 tillstånd oanvända (med don't care -bitar som vanligtvis är inställda på 0 vid skrivning och ignoreras vid läsning). Med endast 0,34 % slöseri ger den en 20 % effektivare kodning än BCD med en siffra i 4 bitar.
Både Hertz och Chen föreslog också liknande, men mindre effektiva, kodningsscheman för att komprimera uppsättningar med två decimalsiffror (kräver 8 bitar i BCD) till grupper om 7 bitar.
Större uppsättningar av decimalsiffror kan delas in i tre- och tvåsiffriga grupper.
Patenten diskuterar också möjligheten att anpassa schemat till siffror kodade i andra decimalkoder än 8-4-2-1 BCD , som excess-3 , Excess-6 , Jump-at-2 , Jump-at-8 , Gray , Glixon , O'Brien typ-I och Gray–Stibitz-kod . Samma principer skulle också kunna tillämpas på andra baser.
1973 tycks någon form av Chen-Ho-kodning ha använts i adresskonverteringshårdvaran för den valfria IBM 7070 / 7074 -emuleringsfunktionen för IBM System/370 Model 165 och 370 Model 168- datorer.
En framträdande applikation använder ett 128-bitars register för att lagra 33 decimalsiffror med en tresiffrig exponent, i praktiken inte mindre än vad som kunde uppnås med binär kodning (medan BCD-kodning skulle behöva 144 bitar för att lagra samma antal siffror).
Kodningar för två decimalsiffror
Hertz-kodning
Binär kodning | Decimalsiffror | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (128 stater) | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (100 tillstånd) | |
50 % (64 delstater) | 0 | a | b | c | d | e | f | 0abc | 0def | (0–7) (0–7) | Två lägre siffror | 64 % (64 delstater) | |
12,5 % (16 delstater) | 1 | 1 | 0 | c | d | e | f | 100 c | 0def | (8–9) (0–7) |
En lägre siffra, en högre siffra |
16 % (16 delstater) | |
12,5 % (16 delstater) | 1 | 0 | 1 | f | a | b | c | 0abc | 100 f | (0–7) (8–9) | 16 % (16 delstater) | ||
12,5 % (16 delstater, 4 använda) | 1 | 1 | 1 | c | x | x | f | 100 c | 100 f | (8–9) (8–9) | Två högre siffror | 4 % (4 delstater) | |
12,5 % (16 delstater, 0 använt) | 1 | 0 | 0 | x | x | x | x | 0 % (0 stater) |
- Denna kodning är inte paritetsbevarande .
Tidig Chen-Ho-kodning, metod A
Binär kodning | Decimalsiffror | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (128 stater) | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (100 tillstånd) | |
50 % (64 delstater) | 0 | a | b | c | d | e | f | 0abc | 0def | (0–7) (0–7) | Två lägre siffror | 64 % (64 delstater) | |
25 % (32 delstater, 16 använda) | 1 | 0 | x (b) | c | d | e | f | 100 c | 0def | (8–9) (0–7) |
En lägre siffra, en högre siffra |
16 % (16 delstater) | |
12,5 % (16 delstater) | 1 | 1 | 0 | f | a | b | c | 0abc | 100 f | (0–7) (8–9) | 16 % (16 delstater) | ||
12,5 % (16 stater, 4 använda) | 1 | 1 | 1 | c | x (a) | x (b) | f | 100 c | 100 f | (8–9) (8–9) | Två högre siffror | 4 % (4 delstater) |
- Denna kodning är inte paritetsbevarande.
Tidig Chen-Ho-kodning, metod B
Binär kodning | Decimalsiffror | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (128 stater) | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (100 tillstånd) | |
50 % (64 delstater) | 0 | a | b | c | d | e | f | 0abc | 0def | (0–7) (0–7) | Två lägre siffror | 64 % (64 delstater) | |
12,5 % (16 delstater) | 1 | 0 | c | 0 | d | e | f | 100 c | 0def | (8–9) (0–7) |
En lägre siffra, en högre siffra |
16 % (16 delstater) | |
12,5 % (16 stater, 4 använda) | 1 | 0 | c | 1 | x | x | f | 100 c | 100 f | (8–9) (8–9) | Två högre siffror | 4 % (4 delstater) | |
12,5 % (16 delstater) | 1 | 1 | f | 0 | a | b | c | 0abc | 100 f | (0–7) (8–9) |
En lägre siffra, en högre siffra |
16 % (16 delstater) | |
12,5 % (16 delstater, 0 använt) | 1 | 1 | x | 1 | x | x | x | 0 % (0 stater) |
- Denna kodning är inte paritetsbevarande.
Patenterad och slutlig Chen-Ho-kodning
Binär kodning | Decimalsiffror | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (128 stater) | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (100 tillstånd) | |
50 % (64 delstater) | 0 | a | b | c | d | e | f | 0abc | 0def | (0–7) (0–7) | Två lägre siffror | 64 % (64 delstater) | |
25,0 % (32 delstater, 16 använda) | 1 | 0 | x (b) | c | d | e | f | 100 c | 0def | (8–9) (0–7) |
En lägre siffra, en högre siffra |
16 % (16 delstater) | |
12,5 % (16 delstater) | 1 | 1 | 1 | c | a | b | f | 0abc | 100 f | (0–7) (8–9) | 16 % (16 delstater) | ||
12,5 % (16 stater, 4 använda) | 1 | 1 | 0 | c | x (a) | x (b) | f | 100 c | 100 f | (8–9) (8–9) | Två högre siffror | 4 % (4 delstater) |
- Om man antar vissa värden för bryr sig inte- bitarna (fe 0), är denna kodning paritetsbevarande .
Kodningar för tre decimalsiffror
Hertz-kodning
Binär kodning | Decimalsiffror | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (1024 stater) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d2 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (1 000 tillstånd) | |
50,0 % (512 delstater) | 0 | a | b | c | d | e | f | g | h | i | 0abc | 0def | 0ghi | (0–7) (0–7) (0–7) | Tre lägre siffror | 51,2 % (512 delstater) | |
37,5 % (384 delstater) | 1 | 0 | 0 | c | d | e | f | g | h | i | 100 c | 0def | 0ghi | (8–9) (0–7) (0–7) |
Två lägre siffror, en högre siffra |
38,4 % (384 delstater) | |
1 | 0 | 1 | f | a | b | c | g | h | i | 0abc | 100 f | 0ghi | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | i | a | b | c | d | e | f | 0abc | 0def | 100 i | (0–7) (0–7) (8–9) | ||||
9,375 % (96 delstater) | 1 | 1 | 1 | f | 0 | 0 | i | a | b | c | 0abc | 100 f | 100 i | (0–7) (8–9) (8–9) |
En lägre siffra, två högre siffror |
9,6 % (96 delstater) | |
1 | 1 | 1 | c | 0 | 1 | i | d | e | f | 100 c | 0def | 100 i | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | c | 1 | 0 | f | g | h | i | 100 c | 100 f | 0ghi | (8–9) (8–9) (0–7) | ||||
3,125 % (32 delstater, 8 använda) | 1 | 1 | 1 | c | 1 | 1 | f | 0 ( ) | 0 ( ) | i | 100 c | 100 f | 100 i | (8–9) (8–9) (8–9) | Tre högre siffror, bitarna b2 och b1 bryr sig inte | 0,8 % (8 delstater) |
- Denna kodning är inte paritetsbevarande.
Tidig Chen-Ho-kodning
Binär kodning | Decimalsiffror | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (1024 stater) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d2 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (1 000 tillstånd) | |
50,0 % (512 delstater) | 0 | a | b | c | d | e | f | g | h | i | 0abc | 0def | 0ghi | (0–7) (0–7) (0–7) | Tre lägre siffror | 51,2 % (512 delstater) | |
37,5 % (384 delstater) | 1 | 0 | 0 | c | d | e | f | g | h | i | 100 c | 0def | 0ghi | (8–9) (0–7) (0–7) |
Två lägre siffror, en högre siffra |
38,4 % (384 delstater) | |
1 | 0 | 1 | f | g | h | i | a | b | c | 0abc | 100 f | 0ghi | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | i | a | b | c | d | e | f | 0abc | 0def | 100 i | (0–7) (0–7) (8–9) | ||||
9,375 % (96 delstater) | 1 | 1 | 1 | 0 | 0 | f | i | a | b | c | 0abc | 100 f | 100 i | (0–7) (8–9) (8–9) |
En lägre siffra, två högre siffror |
9,6 % (96 delstater) | |
1 | 1 | 1 | 0 | 1 | i | c | d | e | f | 100 c | 0def | 100 i | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | 1 | 0 | c | f | g | h | i | 100 c | 100 f | 0ghi | (8–9) (8–9) (0–7) | ||||
3,125 % (32 delstater, 8 använda) | 1 | 1 | 1 | 1 | 1 | c | f | i | 0 ( ) | 0 ( ) | 100 c | 100 f | 100 i | (8–9) (8–9) (8–9) | Tre högre siffror, bitarna b1 och b0 bryr sig inte | 0,8 % (8 delstater) |
- Denna kodning är inte paritetsbevarande.
Patenterad Chen-Ho-kodning
Binär kodning | Decimalsiffror | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (1024 stater) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d2 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (1 000 tillstånd) | |
50,0 % (512 delstater) | 0 | a | b | d | e | g | h | c | f | i | 0abc | 0def | 0ghi | (0–7) (0–7) (0–7) | Tre lägre siffror | 51,2 % (512 delstater) | |
37,5 % (384 delstater) | 1 | 0 | 0 | d | e | g | h | c | f | i | 100 c | 0def | 0ghi | (8–9) (0–7) (0–7) |
Två lägre siffror, en högre siffra |
38,4 % (384 delstater) | |
1 | 0 | 1 | a | b | g | h | c | f | i | 0abc | 100 f | 0ghi | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | d | e | a | b | c | f | i | 0abc | 0def | 100 i | (0–7) (0–7) (8–9) | ||||
9,375 % (96 delstater) | 1 | 1 | 1 | 1 | 0 | a | b | c | f | i | 0abc | 100 f | 100 i | (0–7) (8–9) (8–9) |
En lägre siffra, två högre siffror |
9,6 % (96 delstater) | |
1 | 1 | 1 | 0 | 1 | d | e | c | f | i | 100 c | 0def | 100 i | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | 0 | 0 | g | h | c | f | i | 100 c | 100 f | 0ghi | (8–9) (8–9) (0–7) | ||||
3,125 % (32 delstater, 8 använda) | 1 | 1 | 1 | 1 | 1 | 0 ( ) | 0 ( ) | c | f | i | 100 c | 100 f | 100 i | (8–9) (8–9) (8–9) | Tre högre siffror, bitarna b4 och b3 bryr sig inte | 0,8 % (8 delstater) |
- Denna kodning är inte paritetsbevarande.
Slutlig Chen-Ho-kodning
Binär kodning | Decimalsiffror | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kodutrymme (1024 stater) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d2 | d1 | d0 | Värden kodade | Beskrivning | Förekomster (1 000 tillstånd) | |
50,0 % (512 delstater) | 0 | a | b | c | d | e | f | g | h | i | 0abc | 0def | 0ghi | (0–7) (0–7) (0–7) | Tre lägre siffror | 51,2 % (512 delstater) | |
37,5 % (384 delstater) | 1 | 0 | 0 | c | d | e | f | g | h | i | 100 c | 0def | 0ghi | (8–9) (0–7) (0–7) |
Två lägre siffror, en högre siffra |
38,4 % (384 delstater) | |
1 | 0 | 1 | c | a | b | f | g | h | i | 0abc | 100 f | 0ghi | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | c | d | e | f | a | b | i | 0abc | 0def | 100 i | (0–7) (0–7) (8–9) | ||||
9,375 % (96 delstater) | 1 | 1 | 1 | c | 0 | 0 | f | a | b | i | 0abc | 100 f | 100 i | (0–7) (8–9) (8–9) |
En lägre siffra, två högre siffror |
9,6 % (96 delstater) | |
1 | 1 | 1 | c | 0 | 1 | f | d | e | i | 100 c | 0def | 100 i | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | c | 1 | 0 | f | g | h | i | 100 c | 100 f | 0ghi | (8–9) (8–9) (0–7) | ||||
3,125 % (32 delstater, 8 använda) | 1 | 1 | 1 | c | 1 | 1 | f | 0 ( ) | 0 ( ) | i | 100 c | 100 f | 100 i | (8–9) (8–9) (8–9) | Tre högre siffror, bitarna b2 och b1 bryr sig inte | 0,8 % (8 delstater) |
- Denna kodning är inte paritetsbevarande.
Förvaringseffektivitet
BCD | Nödvändiga bitar | Lite skillnad | |||||||
---|---|---|---|---|---|---|---|---|---|
Siffror | stater | Bits | Binärt kodutrymme | Binär kodning [A] | 2-siffrig kodning [B] | 3-siffrig kodning [C] | Blandad kodning | Blandat kontra binärt | Blandat vs. BCD |
1 | 10 | 4 | 16 | 4 | (7) | (10) | 4 [1×A] | 0 | 0 |
2 | 100 | 8 | 128 | 7 | 7 | (10) | 7 [1×B] | 0 | −1 |
3 | 1000 | 12 | 1024 | 10 | (14) | 10 | 10 [1×C] | 0 | −2 |
4 | 10 000 | 16 | 16 384 | 14 | 14 | (20) | 14 [2×B] | 0 | −2 |
5 | 100 000 | 20 | 131 072 | 17 | (21) | (20) | 17 [1×C+1×B] | 0 | −3 |
6 | 1 000 000 | 24 | 1 048 576 | 20 | 21 | 20 | 20 [2×C] | 0 | −4 |
7 | 10 000 000 | 28 | 16 777 216 | 24 | (28) | (30) | 24 [2×C+1×A] | 0 | −4 |
8 | 100 000 000 | 32 | 134 217 728 | 27 | 28 | (30) | 27 [2×C+1×B] | 0 | −5 |
9 | 1 000 000 000 | 36 | 1 073 741 824 | 30 | (35) | 30 | 30 [3×C] | 0 | −6 |
10 | 10 000 000 000 | 40 | 17 179 869 184 | 34 | 35 | (40) | 34 [3×C+1×A] | 0 | −6 |
11 | 100 000 000 000 | 44 | 137 438 953 472 | 37 | (42) | (40) | 37 [3×C+1×B] | 0 | −7 |
12 | 1 000 000 000 000 | 48 | 1 099 511 627 776 | 40 | 42 | 40 | 40 [4×C] | 0 | −8 |
13 | 10 000 000 000 000 | 52 | 17 592 186 044 416 | 44 | (49) | (50) | 44 [4×C+1×A] | 0 | −8 |
14 | 100 000 000 000 000 | 56 | 140 737 488 355 328 | 47 | 49 | (50) | 47 [4×C+1×B] | 0 | −9 |
15 | 1 000 000 000 000 000 | 60 | 1 125 899 906 842 624 | 50 | (56) | 50 | 50 [5×C] | 0 | −10 |
16 | 10 000 000 000 000 000 | 64 | 18 014 398 509 481 984 | 54 | 56 | (60) | 54 [5×C+1×A] | 0 | −10 |
17 | 100 000 000 000 000 000 | 68 | 144 115 188 075 855 872 | 57 | (63) | (60) | 57 [5×C+1×B] | 0 | −11 |
18 | 1 000 000 000 000 000 000 | 72 | 1 152 921 504 606 846 976 | 60 | 63 | 60 | 60 [6×C] | 0 | −12 |
19 | 10 000 000 000 000 000 000 | 76 | 18 446 744 073 709 551 616 | 64 | (70) | (70) | 64 [6×C+1×A] | 0 | −12 |
20 | … | 80 | … | 67 | 70 | (70) | 67 [6×C+1×B] | 0 | −13 |
21 | … | 84 | … | 70 | (77) | 70 | 70 [7×C] | 0 | −14 |
22 | … | 88 | … | 74 | 77 | (80) | 74 [7×C+1×A] | 0 | −14 |
23 | … | 92 | … | 77 | (84) | (80) | 77 [7×C+1×B] | 0 | −15 |
24 | … | 96 | … | 80 | 84 | 80 | 80 [8×C] | 0 | −16 |
25 | … | 100 | … | 84 | (91) | (90) | 84 [8×C+1×A] | 0 | −16 |
26 | … | 104 | … | 87 | 91 | (90) | 87 [8×C+1×B] | 0 | −17 |
27 | … | 108 | … | 90 | (98) | 90 | 90 [9×C] | 0 | −18 |
28 | … | 112 | … | 94 | 98 | (100) | 94 [9×C+1×A] | 0 | −18 |
29 | … | 116 | … | 97 | (105) | (100) | 97 [9×C+1×B] | 0 | −19 |
30 | … | 120 | … | 100 | 105 | 100 | 100 [10×C] | 0 | −20 |
31 | … | 124 | … | 103 | (112) | (110) | 104 [10×C+1×A] | +1 | −20 |
32 | … | 128 | … | 107 | 112 | (110) | 107 [10×C+1×B] | 0 | −21 |
33 | … | 132 | … | 110 | (119) | 110 | 110 [11×C] | 0 | −22 |
34 | … | 136 | … | 113 | 119 | (120) | 114 [11×C+1×A] | +1 | −22 |
35 | … | 140 | … | 117 | (126) | (120) | 117 [11×C+1×B] | 0 | −23 |
36 | … | 144 | … | 120 | 126 | 120 | 120 [12×C] | 0 | −24 |
37 | … | 148 | … | 123 | (133) | (130) | 124 [12×C+1×A] | +1 | −24 |
38 | … | 152 | … | 127 | 133 | (130) | 127 [12×C+1×B] | 0 | −25 |
… | … | … | … | … | … | … | … | … | … |
Se även
- Binärkodad decimal (BCD)
- Tätt packad decimal (DPD)
- DEC RADIX 50 / MOD40
- IBM SQUOZE
- Packad BCD
- Unicode-transformationsformat (UTF) (liknande kodningsschema)
- Längdbegränsad Huffman-kod
Anteckningar
Vidare läsning
- Bonten, Jo HM (2009-10-06) [2006-10-05]. "Förpackad decimalkodning IEEE-754-2008" . Geldrop, Nederländerna. Arkiverad från originalet 2018-07-11 . Hämtad 2018-07-11 .
- Savard, John JG (2018) [2001]. "Base-26 Pansar" . quadiblock . Arkiverad från originalet 2018-07-21 . Hämtad 2018-07-21 .
- Rinaldi, Russell G.; Moore, Brian B. (1967-03-21) [1964-06-30]. Skriven på Poughkeepsie & New Paltz, New York, USA. "Datakomprimering/expansion och komprimerad databehandling" (Patent). New York, USA: International Business Machines Corporation (IBM). US patent US3310786A . Hämtad 2018-07-18 (60 sidor) [11] , Rinaldi, Russell G.; Moore, Brian B. (1969-05-20) [1967-01-19, 1964-06-30]. Skriven på Poughkeepsie & New Paltz, New York, USA. "Serial digital adderare som använder ett komprimerat dataformat" (Patent). New York, USA: International Business Machines Corporation (IBM). US patent US3445641A . Hämtad 2018-07-18 (40 sidor) [12] och Rinaldi, Russell G.; Moore, Brian B. (1969-03-11) [1967-01-19, 1964-06-30]. Skriven på Poughkeepsie & New Paltz, New York, USA. "Datakomprimering/expansion och komprimerad databehandling" (Patent). New York, USA: International Business Machines Corporation (IBM). US patent US3432811A . Hämtad 2018-07-18 . (11 sidor) [13] (OBS. Tre utgångna patent som nämns i båda, Hertz- och Chen-Ho-patenten .)
- Bender, Richard R.; Galage, Dominick J. (augusti 1961). "Kontroll av förpackningsläge". IBM Technical Disclosure Bulletin . 4 (3): 61–63.
- Tilem, JY (december 1962). "Datapaketering och uppackningsmedel". IBM Technical Disclosure Bulletin . 5 (7): 48–49.
- Lengyel, EJ; McMahon, RF (mars 1967). "Direkt decimal till binär adressgenerator för små minnen" . IBM Technical Disclosure Bulletin . 9 (10): 1347 . Hämtad 2020-06-03 .