Кодирование Чен – Хо - это альтернативная система двоичного кодирования десятичных цифр с эффективным использованием памяти .
Традиционная система двоичного кодирования десятичных цифр, известная как двоично-десятичная дробь (BCD), использует четыре бита для кодирования каждой цифры, что приводит к значительной потере полосы пропускания двоичных данных (поскольку четыре бита могут хранить 16 состояний и используются для хранения только 10), [1] даже при использовании упакованного BCD .
Кодирование снижает требования к хранению двух десятичных цифр (100 состояний) с 8 до 7 бит и трех десятичных цифр (1000 состояний) с 12 до 10 битов, используя только простые логические преобразования, избегая любых сложных арифметических операций, таких как базовое преобразование .
История [ править ]
Похоже, что это было несколько открытий , некоторые концепции, лежащие в основе того, что позже стало известно как кодирование Чен-Хо, были независимо разработаны Теодором М. Герцем в 1969 году [2] и Тьен Чи Чен (陳 天機) (1928–) [ 3] [4] [5] [6] в 1971 году.
Герц из Роквелла подал патент на свое кодирование в 1969 году, который был выдан в 1971 году [2].
Чен впервые обсудил свои идеи с Ирвином Цзе Хо (何宜慈) (1921–2003) [7] [8] [9] [10] в 1971 году. Чен и Хо в то время работали в IBM , хотя и в разных местах. [11] [12] Чен также консультировался с Фрэнком Чин Тунгом [13], чтобы независимо проверить результаты его теорий. [12] IBM подала патент на свое имя в 1973 году, который был выдан в 1974 году. [14] По крайней мере, к 1973 году ранняя работа Герца должна была быть им известна, поскольку в патенте его патент упоминается как известный уровень техники . [14]
При содействии Джозефа Д. Ратледжа и Джона К. Макферсона [15] окончательная версия кодировки Чен-Хо была распространена внутри IBM в 1974 году [16] и опубликована в 1975 году в журнале Communications of the ACM . [15] [17] Эта версия включала несколько усовершенствований, в первую очередь связанных с применением системы кодирования. Он представляет собой Хаффман -кака префикс код .
Кодирования было переданы в качестве схемы Чена и Х в 1975 году, [18] , кодирующий Чен в 1982 году [19] и стало известно как кодирования Чена-Хо или алгоритм Чена-Хо с 2000 года [17] После того , как подали заявку на патент для него в 2001, [20] Майкл Ф. Коулишоу опубликовал дальнейшее усовершенствование кодирования Чен-Хо, известное как плотно упакованное десятичное (DPD) кодирование в IEE Proceedings - Computers and Digital Techniques в 2002 году. [21] [22] DPD впоследствии был принят как десятичное кодирование используется в IEEE 754-2008 и Стандарты ISO / IEC / IEEE 60559: 2011 для операций с плавающей запятой .
Заявление [ править ]
Чен отметил, что цифры от нуля до семи просто кодируются с использованием трех двоичных цифр соответствующей восьмеричной группы. Он также предположил, что можно использовать флаг для идентификации другой кодировки для цифр восемь и девять, которая будет закодирована с использованием одного бита.
На практике к потоку входных битов применяется серия логических преобразований, сжимающих цифры в кодировке BCD с 12 бит на три цифры до 10 бит на три цифры. Обратные преобразования используются для декодирования результирующего кодированного потока в BCD. Эквивалентных результатов можно также достичь с помощью справочной таблицы .
Кодирование Чен – Хо ограничено кодированием наборов из трех десятичных цифр в группы по 10 бит (так называемые деклеты ). [1] Из 1024 состояний, возможных при использовании 10 битов, он оставляет неиспользованными только 24 состояния [1] (при этом биты безразличия обычно устанавливаются на 0 при записи и игнорируются при чтении). С потерей всего 0,34% он дает на 20% более эффективное кодирование, чем BCD с одной цифрой в 4 битах. [12] [17]
И Герц, и Чен также предложили аналогичные, но менее эффективные схемы кодирования для сжатия наборов из двух десятичных цифр (требующих 8 бит в BCD) в группы по 7 бит. [2] [12]
Большие наборы десятичных цифр можно разделить на группы из трех и двух цифр. [2]
В патентах также обсуждается возможность адаптации схемы к цифрам, закодированным в любых других десятичных кодах, кроме 8-4-2-1 BCD , [2] например, например Excess-3 , [2] Excess-6 , Jump-at-2 , Jump-at-8 , код Грея , Гликсона , О'Брайена типа I и код Грея – Стибица . [a] Те же принципы могут применяться и к другим базам.
В 1973 году , некоторые формы кодирования Чен-Хо , как представляется, были использованы в аппаратных средствах преобразования адресов опционального IBM 7070 / 7074 функции эмуляции для IBM System / 370 Model 165 и 370 модели 168 компьютеров. [23] [24]
Одно известное приложение использует 128-битный регистр для хранения 33 десятичных цифр с трехзначной экспонентой, что фактически не меньше, чем можно было бы достичь с помощью двоичного кодирования (тогда как для кодирования BCD потребуется 144 бита для хранения того же количества цифр).
Кодировки для двух десятичных цифр [ править ]
Кодировка в герцах [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d1 | d0 | Закодированные значения | Описание | Вхождения (100 состояний) | |
50% (64 штата) | 0 | а | б | c | d | е | ж | 0 abc | 0 def | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
12,5% (16 штатов) | 1 | 1 | 0 | c | d | е | ж | 100 с | 0 def | (8–9) (0–7) | Одна младшая цифра, одна высшая цифра | 16% (16 штатов) | |
12,5% (16 штатов) | 1 | 0 | 1 | ж | а | б | c | 0 abc | 100 f | (0–7) (8–9) | 16% (16 штатов) | ||
12,5% (16 штатов, 4 использовали) | 1 | 1 | 1 | c | Икс | Икс | ж | 100 с | 100 f | (8–9) (8–9) | Две старшие цифры | 4% (4 государства) | |
12,5% (16 состояний, 0 использовано) | 1 | 0 | 0 | Икс | Икс | Икс | Икс | 0% (0 состояний) |
- Эта кодировка не сохраняет четность .
Раннее кодирование Чен – Хо, метод A [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d1 | d0 | Закодированные значения | Описание | Вхождения (100 состояний) | |
50% (64 штата) | 0 | а | б | c | d | е | ж | 0 abc | 0 def | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
25% (32 штата, 16 используется) | 1 | 0 | x [12] (b) [15] | c | d | е | ж | 100 с | 0 def | (8–9) (0–7) | Одна младшая цифра, одна высшая цифра | 16% (16 штатов) | |
12,5% (16 штатов) | 1 | 1 | 0 | ж | а | б | c | 0 abc | 100 f | (0–7) (8–9) | 16% (16 штатов) | ||
12,5% (16 штатов, 4 использовали) | 1 | 1 | 1 | c | x [12] (a) [15] | x [12] (b) [15] | ж | 100 с | 100 f | (8–9) (8–9) | Две старшие цифры | 4% (4 государства) |
- Эта кодировка не сохраняет четность.
Раннее кодирование Чен – Хо, метод B [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d1 | d0 | Закодированные значения | Описание | Вхождения (100 состояний) | |
50% (64 штата) | 0 | а | б | c | d | е | ж | 0 abc | 0 def | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
12,5% (16 штатов) | 1 | 0 | c | 0 | d | е | ж | 100 с | 0 def | (8–9) (0–7) | Одна младшая цифра, одна высшая цифра | 16% (16 штатов) | |
12,5% (16 штатов, 4 использовали) | 1 | 0 | c | 1 | Икс | Икс | ж | 100 с | 100 f | (8–9) (8–9) | Две старшие цифры | 4% (4 государства) | |
12,5% (16 штатов) | 1 | 1 | ж | 0 | а | б | c | 0 abc | 100 f | (0–7) (8–9) | Одна младшая цифра, одна высшая цифра | 16% (16 штатов) | |
12,5% (16 состояний, 0 использовано) | 1 | 1 | Икс | 1 | Икс | Икс | Икс | 0% (0 состояний) |
- Эта кодировка не сохраняет четность.
Запатентованная и окончательная версия кодировки Чен – Хо [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d1 | d0 | Закодированные значения | Описание | Вхождения (100 состояний) | |
50% (64 штата) | 0 | а | б | c | d | е | ж | 0 abc | 0 def | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
25,0% (32 штата, 16 используется) | 1 | 0 | x [14] (b) [15] | c | d | е | ж | 100 с | 0 def | (8–9) (0–7) | Одна младшая цифра, одна высшая цифра | 16% (16 штатов) | |
12,5% (16 штатов) | 1 | 1 | 1 | c | а | б | ж | 0 abc | 100 f | (0–7) (8–9) | 16% (16 штатов) | ||
12,5% (16 штатов, 4 использовали) | 1 | 1 | 0 | c | x [14] (a) [15] | x [14] (b) [15] | ж | 100 с | 100 f | (8–9) (8–9) | Две старшие цифры | 4% (4 государства) |
- Предполагая определенные значения для неважных битов (например, 0), это кодирование сохраняет четность . [14] [15]
Кодировки для трех десятичных цифр [ править ]
Кодировка в герцах [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d2 | d1 | d0 | Закодированные значения | Описание | Вхождения (1000 состояний) | |
50,0% (512 штатов) | 0 | а | б | c | d | е | ж | грамм | час | я | 0 abc | 0 def | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 государства) | 1 | 0 | 0 | c | d | е | ж | грамм | час | я | 100 с | 0 def | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, одна старшая цифра | 38,4% (384 государства) | |
1 | 0 | 1 | ж | а | б | c | грамм | час | я | 0 abc | 100 f | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | я | а | б | c | d | е | ж | 0 abc | 0 def | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | ж | 0 | 0 | я | а | б | c | 0 abc | 100 f | 100 я | (0–7) (8–9) (8–9) | Одна младшая цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | c | 0 | 1 | я | d | е | ж | 100 с | 0 def | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | c | 1 | 0 | ж | грамм | час | я | 100 с | 100 f | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | c | 1 | 1 | ж | ( 0 ) | ( 0 ) | я | 100 с | 100 f | 100 я | (8–9) (8–9) (8–9) | Три высших разрядов, бит b2 и b1 являются не забочусь | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность.
Раннее кодирование Чен – Хо [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d2 | d1 | d0 | Закодированные значения | Описание | Вхождения (1000 состояний) | |
50,0% (512 штатов) | 0 | а | б | c | d | е | ж | грамм | час | я | 0 abc | 0 def | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 государства) | 1 | 0 | 0 | c | d | е | ж | грамм | час | я | 100 с | 0 def | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, одна старшая цифра | 38,4% (384 государства) | |
1 | 0 | 1 | ж | грамм | час | я | а | б | c | 0 abc | 100 f | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | я | а | б | c | d | е | ж | 0 abc | 0 def | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | 0 | 0 | ж | я | а | б | c | 0 abc | 100 f | 100 я | (0–7) (8–9) (8–9) | Одна младшая цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | 0 | 1 | я | c | d | е | ж | 100 с | 0 def | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | 1 | 0 | c | ж | грамм | час | я | 100 с | 100 f | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | 1 | 1 | c | ж | я | ( 0 ) | ( 0 ) | 100 с | 100 f | 100 я | (8–9) (8–9) (8–9) | Три высшие цифры, биты b1, b0 не волнует | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность.
Запатентованная кодировка Чен – Хо [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d2 | d1 | d0 | Закодированные значения | Описание | Вхождения (1000 состояний) | |
50,0% (512 штатов) | 0 | а | б | d | е | грамм | час | c | ж | я | 0 abc | 0 def | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 государства) | 1 | 0 | 0 | d | е | грамм | час | c | ж | я | 100 с | 0 def | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, одна старшая цифра | 38,4% (384 государства) | |
1 | 0 | 1 | а | б | грамм | час | c | ж | я | 0 abc | 100 f | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | d | е | а | б | c | ж | я | 0 abc | 0 def | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | 1 | 0 | а | б | c | ж | я | 0 abc | 100 f | 100 я | (0–7) (8–9) (8–9) | Одна младшая цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | 0 | 1 | d | е | c | ж | я | 100 с | 0 def | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | 0 | 0 | грамм | час | c | ж | я | 100 с | 100 f | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | 1 | 1 | ( 0 ) | ( 0 ) | c | ж | я | 100 с | 100 f | 100 я | (8–9) (8–9) (8–9) | Три высших цифр, биты b4 и b3 являются не заботится | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность. [14]
Окончательная кодировка Чен – Хо [ править ]
Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | Би 2 | b1 | b0 | d2 | d1 | d0 | Закодированные значения | Описание | Вхождения (1000 состояний) | |
50,0% (512 штатов) | 0 | а | б | c | d | е | ж | грамм | час | я | 0 abc | 0 def | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 государства) | 1 | 0 | 0 | c | d | е | ж | грамм | час | я | 100 с | 0 def | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, одна старшая цифра | 38,4% (384 государства) | |
1 | 0 | 1 | c | а | б | ж | грамм | час | я | 0 abc | 100 f | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | c | d | е | ж | а | б | я | 0 abc | 0 def | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | c | 0 | 0 | ж | а | б | я | 0 abc | 100 f | 100 я | (0–7) (8–9) (8–9) | Одна младшая цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | c | 0 | 1 | ж | d | е | я | 100 с | 0 def | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | c | 1 | 0 | ж | грамм | час | я | 100 с | 100 f | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | c | 1 | 1 | ж | ( 0 ) | ( 0 ) | я | 100 с | 100 f | 100 я | (8–9) (8–9) (8–9) | Три высших разрядов, бит b2 и b1 являются не забочусь | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность. [15]
Эффективность хранения [ править ]
BCD | Необходимые биты | Битовая разница | |||||||
---|---|---|---|---|---|---|---|---|---|
Цифры | состояния | Биты | Пространство двоичного кода | Двоичное кодирование [A] | 2-значная кодировка [B] | 3-значная кодировка [C] | Смешанное кодирование | Смешанный против двоичного | Смешанный против 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 |
… | … | … | … | … | … | … | … | … | … |
См. Также [ править ]
- Десятичное число с двоичным кодом (BCD)
- Плотно упакованная десятичная дробь (DPD)
- ДЕКАБРЬ RADIX 50 / MOD40
- IBM SQUOZE
- Упакованный BCD
- Формат преобразования Unicode (UTF) (аналогичная схема кодирования)
- Ограниченный по длине код Хаффмана
Заметки [ править ]
- ^ Некоторые 4-битные десятичные коды особенно хорошо подходят в качестве альтернативы BCD-коду 8-4-2-1 : код Jump-at-8 использует те же значения для упорядоченных состояний от 0 до 7, тогда как в Grey BCD и Glixon коды, значения для состояний от 0 до 7 все еще из того же набора, но упорядочены по-разному (что, однако, прозрачно длякодировокГерца, Чена – Хо или плотно упакованных десятичных (DPD) кодировок, поскольку они проходят через биты без изменений) . В этих четырех кодах старший битможет использоваться как флаг, обозначающий «большие» значения. Для двух «больших» значений все биты, кроме одного, остаются статичными (два средних бита всегда равны нулю для 8-4-2-1 и один для кода Jump-at-8, в то время как для кода Грея BCD устанавливается один бит и другой очищен, тогда как для кода Glixon два младших бита всегда равны нулю и один бит инвертирован, таким образом, два «больших» значения прозрачно меняются местами), что требует лишь незначительных изменений в кодировании. Три других кода также можно удобно разделить на группы по восемь и два состояния, содержащие значения из двух диапазонов последовательных битовых комбинаций. В случае кодов BCD и Excess-6 и Jump-at-2, наиболее значимый бит по-прежнему может использоваться для различения двух групп, однако, по сравнению с кодом Jump-at-8, группа малых значений теперь содержит только два состояния, а большая группа содержит восемь больших значений. В случае кода О'Брайена типа I и кода Грея – Стибица следующий по старшинству бит может вместо этого служить битом флага, а оставшиеся биты снова образуют две группы последовательных значений. Таким образом, эти различия остаются прозрачными для кодирования.
Ссылки [ править ]
- ^ a b c Мюллер, Жан-Мишель; Брисебар, Николас; де Динешен, Флоран; Жаннерод, Клод-Пьер; Лефевр, Винсент; Мелькионд, Гийом; Revol, Натали; Stehlé, Damien; Торрес, Серж (2010). Справочник по арифметике с плавающей точкой (1-е изд.). Birkhäuser . DOI : 10.1007 / 978-0-8176-4705-6 . ISBN 978-0-8176-4704-9. LCCN 2009939668 .
- ^ a b c d e f g h Герц, Теодор М. (1971-11-02) [1969-12-15]. «Система компактного хранения десятичных чисел» (Патент). Уиттиер, Калифорния, США: Североамериканская корпорация Rockwell . Патент США US3618047A . Проверено 18 июля 2018 .(8 страниц) [1] [2] (NB. В этом патенте с истекшим сроком действия обсуждается система кодирования, очень похожая на Chen-Ho, которая также упоминается в качестве известного уровня техники в патенте Chen-Ho .)
- ^ "Мы слышим, что ..." Physics Today . 12 (2). Американский институт физики (AIP). 1959. с. 62. DOI : 10,1063 / 1,3060696 . ISSN 0031-9228 . Архивировано 24 июня 2020 года . Проверено 24 июня 2020 . (1 стр.)
- ^ Паркер, Дэвид (2003). «Почетный член - Цитата - профессор Чен Тянь Чи» (PDF) . Список почетных членов. Китайский университет Гонконга (CUHK). Архивировано (PDF) из оригинала 25 декабря 2014 года . Проверено 24 июня 2020 . (2 страницы)
- ^ "ЧЕН Тянь Чи" . Китайский университет Гонконга (CUHK). 2013-01-12. Архивировано из оригинала на 2015-10-23 . Проверено 7 февраля 2016 .
- ^ Вонг, Эндрю ВФ (2014-08-15) [2014-07-04, 2014-06-23, 2013-09-16, 2007-07-16, 2007-06-07, 2007-06-04, 2007 -05-20, 2007-02-16].陳 天機 Chen Tien Chi: 如夢 令 Ru Meng Ling (Как будто во сне). Классические китайские стихи на английском (на китайском и английском языках). В переводе Хунфа (宏 發), Хуан (黃). Архивировано 25 июня 2020 года . Проверено 25 июня 2020 .
- ^ "Ученому дана задача создать научно-ориентированный промышленный парк" . Вестник науки . 11 (2). Тайбэй, Тайвань: Национальный научный совет . 1979-02-01. п. 1. ISSN 1607-3509 . OCLC 1658005 . Архивировано 25 июня 2020 года . Проверено 24 июня 2020 . (1 страница) [3]
- ^ Цзэн, Li-Ling (1988-04-01). «Лидерство в сфере высоких технологий: Ирвинг Т. Хо» . Тайваньская информация . Архивировано из оригинала на 2016-02-08 . Проверено 8 февраля 2016 . [4]
- ^ "Тайваньская силиконовая долина: эволюция промышленного парка Синьчжу" . Институт международных исследований Фримена Спогли . Стэнфордский университет , Стэнфорд, Калифорния, США. 2000-01-11. Архивировано 26 июня 2020 года . Проверено 2 мая 2017 .
- ^ "Ирвинг Т. Хо" . Новости Сан-Хосе Меркьюри . 2003-04-26. Архивировано 25 июня 2020 года . Проверено 25 июня 2020 .
- ^ Чен, Тянь Чи (1971-03-12). Схема преобразования десятично-двоичного целого числа (Внутренняя записка Ирвингу Цзе Хо). Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США: IBM .
- ^ a b c d e f g h i j Чен, Тянь Чи (1971-03-29). Сжатие десятичных чисел (PDF) (Внутренняя записка Ирвингу Цзе Хо). Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США: IBM . С. 1–4. Архивировано (PDF) из оригинала на 2012-10-17 . Проверено 7 февраля 2016 . (4 страницы)
- ^ IBM 专家 Фрэнк Тунг 博士 8 月 4 日 来 我 校 演讲[Старший эксперт IBM доктор Франк Тунг приехал в нашу школу 4 августа, чтобы выступить с речью] (на китайском и английском языках). Гуанчжоу, Китай: Южно-Китайский технологический университет (SCUT). 2004-08-04. Архивировано из оригинала на 2004-12-08 . Проверено 6 февраля 2016 .
- ^ Б с д е е г ч я Чен, Чи Тянь ; Хо, Ирвинг Цзе (1974-10-15) [1973-06-18]. Написано в Сан-Хосе, Калифорния, США, и Покипси, Нью-Йорк, США. «Аппарат преобразования двоичного кода в десятичную дробь» (Патент). Армонк, Нью-Йорк, США: Международная корпорация бизнес-машин (IBM). Патент США US3842414A . Проверено 18 июля 2018 .(14 страниц) [5] [6] (NB. Этот патент с истекшим сроком действия касается алгоритма Чен – Хо.)
- ^ Б с д е е г ч я J к л Чен, Чи Тиен ; Хо, Ирвинг Цзе (январь 1975 г.) [апрель 1974 г.]. «Представление десятичных данных с эффективным хранением» . Коммуникации ACM . Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США, и подразделение системных продуктов IBM, Покипси / Ист-Фишкилл, Нью-Йорк, США: Ассоциация вычислительной техники . 18 (1): 49–52. DOI : 10.1145 / 360569.360660 . ISSN 0001-0782 . S2CID 14301378 . Архивировано 24 июня 2020 года . Проверено 24 июня 2020 . (4 страницы)
- ^ Чен, Тянь Чи ; Хо, Ирвинг Цзе (1974-06-25). «Представление десятичных данных с эффективным хранением». Отчет об исследовании RJ 1420 (Технический отчет). Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США: IBM .
- ^ a b c d Cowlishaw, Майкл Фредерик (2014) [июнь 2000]. «Краткое изложение кодирования десятичных данных Чен-Хо» . IBM . Архивировано 24 сентября 2015 года . Проверено 7 февраля 2016 .
- ^ Смит, Алан Джей (август 1975 г.) [апрель 1975 г.]. «Комментарии к статье TC Chen и IT Ho» . Коммуникации ACM . Калифорнийский университет , Беркли, Калифорния, США. 18 (8): 463. DOI : 10,1145 / 360933,360986 . eISSN 1557-7317 . ISSN 0001-0782 . S2CID 20910959 . КОДЕН CACMA2 . Архивировано 03 июня 2020 года . Проверено 3 июня 2020 . (1 страница) (NB. Публикация, в которой также обсуждаются альтернативы и варианты Чен – Хо.)
- ^ Сакс-Дэвис, Рон (1982-11-01) [январь 1982]. «Применение избыточных представлений чисел в десятичной арифметике» (PDF) . Компьютерный журнал . Факультет компьютерных наук, Университет Монаша , Клейтон, Виктория, Австралия: Wiley Хейден Ltd . 25 (4): 471–477. DOI : 10.1093 / comjnl / 25.4.471 . Архивировано из оригинального (PDF) 24 июня 2020 года . Проверено 24 июня 2020 . (7 страниц)
- ^ Каулишоу, Майкл Фредерик (25 февраля 2003 г.) [20 мая 2002 г., 27 января 2001 г.]. Написано в Ковентри, Великобритания. «Кодер / декодер от десятичного к двоичному» (Патент). Армонк, Нью-Йорк, США: Международная корпорация бизнес-машин (IBM). Патент США US6525679B1 . Источник 2018-07-18(6 страниц) [7] и Коулишоу, Майкл Фредерик (2007-11-07) [2004-01-14, 2002-08-14, 2001-09-24, 2001-01-27]. Написано в Винчестере, Хэмпшир, Великобритания. «Кодер / декодер от десятичного к двоичному» (Патент). Армонк, Нью-Йорк, США: Международная корпорация бизнес-машин (IBM). Европейский патент EP1231716A2 . Проверено 18 июля 2018 .(9 страниц) [8] [9] [10] (NB. В этом патенте о DPD также обсуждается алгоритм Чен – Хо.)
- ^ Cowlishaw, Майкл Фредерик (2002-08-07) [май 2002]. «Плотно упакованное десятичное кодирование» . IEE Proceedings - Компьютеры и цифровые методы . Лондон, Великобритания: Институт инженеров-электриков (IEE). 149 (3): 102–104. DOI : 10.1049 / IP-CDT: 20020407 . ISSN 1350-2387 . Проверено 7 февраля 2016 . (3 страницы)
- ^ Cowlishaw, Майкл Фредерик (2007-02-13) [2000-10-03]. «Резюме плотно упакованного десятичного кодирования» . IBM . Архивировано 24 сентября 2015 года . Проверено 7 февраля 2016 .
- ^ Савард, Джон JG (2018) [2007]. «Кодирование Чен-Хо и плотно упакованная десятичная дробь» . квадиблок . Архивировано 3 июля 2018 года . Проверено 16 июля 2018 .
- ^ Функция совместимости 7070/7074 для IBM System / 370 моделей 165, 165 II и 168 (PDF) (2-е изд.). IBM . Июнь 1973 [1970]. GA22-6958-1 (файл № 5 / 370-13). Архивировано (PDF) из оригинала 22.07.2018 . Проверено 21 июля 2018 . (31 + 5 страниц)
Дальнейшее чтение [ править ]
- Бонтен, Джо Х.М. (2009-10-06) [2006-10-05]. «Упакованное десятичное кодирование IEEE-754-2008» . Архивировано 11 июля 2018 года . Проверено 11 июля 2018 .
- Савард, Джон Дж. Г. (2018) [2001]. «Броня База-26» . квадиблок . Архивировано 21 июля 2018 года . Проверено 21 июля 2018 .
- Ринальди, Рассел Дж .; Мур, Брайан Б. (1967-03-21) [1964-06-30]. Написано в Poughkeepsie & New Paltz, Нью-Йорк, США. «Сжатие / расширение данных и обработка сжатых данных» (Патент). Нью-Йорк, США: Международная корпорация бизнес-машин (IBM). Патент США US3310786A . Источник 2018-07-18(60 страниц) [11] , Rinaldi, Russell G .; Мур, Брайан Б. (20 мая 1969) [19 января 1967, 30 июня 1964]. Написано в Poughkeepsie & New Paltz, Нью-Йорк, США. «Последовательный цифровой сумматор, использующий формат сжатых данных» (Патент). Нью-Йорк, США: Международная корпорация бизнес-машин (IBM). Патент США US 3445641A . Источник 2018-07-18(40 страниц) [12] и Rinaldi, Russell G .; Мур, Брайан Б. (1969-03-11) [1967-01-19, 1964-06-30]. Написано в Poughkeepsie & New Paltz, Нью-Йорк, США. «Сжатие / расширение данных и обработка сжатых данных» (Патент). Нью-Йорк, США: Международная корпорация бизнес-машин (IBM). Патент США US3432811A . Проверено 18 июля 2018 .(11 страниц) [13] (NB. Три патента с истекшим сроком действия цитируются как в патентах Герца, так и в патентах Чен-Хо .)
- Бендер, Ричард Р .; Галаге, Доминик Дж. (Август 1961 г.). «Контроль режима упаковки». Бюллетень технического раскрытия информации IBM . 4 (3): 61–63.
- Тилем, JY (декабрь 1962 г.). «Средства упаковки и распаковки данных». Бюллетень технического раскрытия информации IBM . 5 (7): 48–49.
- Lengyel, EJ; МакМахон, РФ (март 1967). "Генератор адресов из десятичного в двоичный для небольших воспоминаний" . Бюллетень технического раскрытия информации IBM . 9 (10): 1347 . Проверено 3 июня 2020 .