Чен – Кодирование
Кодирование Чена – Хо — это альтернативная система двоичного кодирования десятичных цифр, эффективно использующая память.
Традиционная система двоичного кодирования десятичных цифр, известная как двоично-десятичная (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 с плавающей запятой .
Приложение
[ редактировать ]Чен отметил, что цифры от нуля до семи были просто закодированы с использованием трех двоичных цифр соответствующей восьмеричной группы. Он также предположил, что можно использовать флаг для идентификации другой кодировки цифр восемь и девять, которые будут закодированы с использованием одного бита.
серия логических На практике к потоку входных бит применяется преобразований, сжимающих цифры в двоично-десятичном коде с 12 бит на три цифры до 10 бит на три цифры. Обратные преобразования используются для декодирования результирующего кодированного потока в BCD. Эквивалентных результатов можно также достичь, используя справочную таблицу .
Кодирование Чена-Хо ограничивается кодированием наборов из трех десятичных цифр в группы по 10 бит (так называемые деклеты ). [1] Из 1024 состояний, возможных при использовании 10 бит, неиспользованными остаются только 24 состояния. [1] ( безразличные биты обычно устанавливаются в 0 при записи и игнорируются при чтении). При потерях всего 2,34% он обеспечивает на 20% более эффективное кодирование, чем BCD с одной цифрой в 4 бита. [12] [17]
И Герц, и Чен также предложили аналогичные, но менее эффективные схемы кодирования для сжатия наборов из двух десятичных цифр (требующих 8 бит в BCD) в группы по 7 бит. [2] [12]
Большие наборы десятичных цифр можно разделить на трех- и двузначные группы. [2]
В патентах также обсуждается возможность адаптации схемы к цифрам, закодированным в любых других десятичных кодах, кроме 8-4-2-1 BCD . [2] как фе Эксцесс-3 , [2] Превышение-6 , Прыжок-2 , Прыжок-8 , Грей , Гликсон , О'Брайен типа I и код Грея-Стибитца . [а] Те же принципы могут быть применены и к другим базам.
-видимому, использовалась в аппаратном обеспечении преобразования адресов дополнительной функции эмуляции IBM 7070/7074 для В 1973 году некоторая форма кодирования Чена-Хо, по компьютеров IBM System / 370 Model 165 и 370 Model 168 . [23] [24]
В одном известном приложении используется 128-битный регистр для хранения 33 десятичных цифр с трехзначным показателем степени, что фактически не меньше того, что можно было бы достичь с помощью двоичного кодирования (тогда как для кодирования BCD потребовалось бы 144 бита для хранения того же количества цифр).
Кодировки двух десятичных цифр
[ редактировать ]Кодирование Герца
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d1 | д0 | Закодированные значения | Описание | Случаи (100 штатов) | |
50% (64 штата) | 0 | а | б | с | д | и | ж | 0 абв | 0 защита | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
12,5% (16 штатов) | 1 | 1 | 0 | с | д | и | ж | 100 с | 0 защита | (8–9) (0–7) | Одна нижняя цифра, на одну большую цифру | 16% (16 штатов) | |
12,5% (16 штатов) | 1 | 0 | 1 | ж | а | б | с | 0 абв | 100 ф | (0–7) (8–9) | 16% (16 штатов) | ||
12,5% (16 штатов, 4 использовано) | 1 | 1 | 1 | с | х | х | ж | 100 с | 100 ф | (8–9) (8–9) | Две старшие цифры | 4% (4 штата) | |
12,5% (16 штатов, 0 использовано) | 1 | 0 | 0 | х | х | х | х | 0% (0 штатов) |
- Эта кодировка не сохраняет четность .
Раннее кодирование Чена – Хо, метод A
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d1 | д0 | Закодированные значения | Описание | Случаи (100 штатов) | |
50% (64 штата) | 0 | а | б | с | д | и | ж | 0 абв | 0 защита | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
25% (32 штата, 16 использованных) | 1 | 0 | х [12] (б) [15] | с | д | и | ж | 100 с | 0 защита | (8–9) (0–7) | Одна нижняя цифра, на одну большую цифру | 16% (16 штатов) | |
12,5% (16 штатов) | 1 | 1 | 0 | ж | а | б | с | 0 абв | 100 ф | (0–7) (8–9) | 16% (16 штатов) | ||
12,5% (16 штатов, 4 использовано) | 1 | 1 | 1 | с | х [12] (а) [15] | х [12] (б) [15] | ж | 100 с | 100 ф | (8–9) (8–9) | Две старшие цифры | 4% (4 штата) |
- Эта кодировка не сохраняет четность.
Раннее кодирование Чена – Хо, метод B
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d1 | д0 | Закодированные значения | Описание | Случаи (100 штатов) | |
50% (64 штата) | 0 | а | б | с | д | и | ж | 0 абв | 0 защита | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
12,5% (16 штатов) | 1 | 0 | с | 0 | д | и | ж | 100 с | 0 защита | (8–9) (0–7) | Одна нижняя цифра, на одну большую цифру | 16% (16 штатов) | |
12,5% (16 штатов, 4 использовано) | 1 | 0 | с | 1 | х | х | ж | 100 с | 100 ф | (8–9) (8–9) | Две старшие цифры | 4% (4 штата) | |
12,5% (16 штатов) | 1 | 1 | ж | 0 | а | б | с | 0 абв | 100 ф | (0–7) (8–9) | Одна нижняя цифра, на одну большую цифру | 16% (16 штатов) | |
12,5% (16 штатов, 0 использовано) | 1 | 1 | х | 1 | х | х | х | 0% (0 штатов) |
- Эта кодировка не сохраняет четность.
Запатентованная и окончательная кодировка Чена – Хо.
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (128 состояний) | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d1 | д0 | Закодированные значения | Описание | Случаи (100 штатов) | |
50% (64 штата) | 0 | а | б | с | д | и | ж | 0 абв | 0 защита | (0–7) (0–7) | Две младшие цифры | 64% (64 штата) | |
25,0% (32 штата, 16 использованных) | 1 | 0 | х [14] (б) [15] | с | д | и | ж | 100 с | 0 защита | (8–9) (0–7) | Одна нижняя цифра, на одну большую цифру | 16% (16 штатов) | |
12,5% (16 штатов) | 1 | 1 | 1 | с | а | б | ж | 0 абв | 100 ф | (0–7) (8–9) | 16% (16 штатов) | ||
12,5% (16 штатов, 4 использовано) | 1 | 1 | 0 | с | х [14] (а) [15] | х [14] (б) [15] | ж | 100 с | 100 ф | (8–9) (8–9) | Две старшие цифры | 4% (4 штата) |
- биты имеют определенные значения Если предположить, что ненужные (например, 0), это кодирование сохраняет четность . [14] [15]
Кодировки трех десятичных цифр
[ редактировать ]Кодирование Герца
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | б9 | б8 | b7 | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d2 | d1 | д0 | Закодированные значения | Описание | Случаи (1000 штатов) | |
50,0% (512 штатов) | 0 | а | б | с | д | и | ж | г | час | я | 0 абв | 0 защита | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 штата) | 1 | 0 | 0 | с | д | и | ж | г | час | я | 100 с | 0 защита | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, на одну большую цифру | 38,4% (384 штата) | |
1 | 0 | 1 | ж | а | б | с | г | час | я | 0 абв | 100 ф | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | я | а | б | с | д | и | ж | 0 абв | 0 защита | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | ж | 0 | 0 | я | а | б | с | 0 абв | 100 ф | 100 я | (0–7) (8–9) (8–9) | Одна нижняя цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | с | 0 | 1 | я | д | и | ж | 100 с | 0 защита | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | с | 1 | 0 | ж | г | час | я | 100 с | 100 ф | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | с | 1 | 1 | ж | ( 0 ) | ( 0 ) | я | 100 с | 100 ф | 100 я | (8–9) (8–9) (8–9) | Три старшие цифры, биты b2 и b1 не имеют значения. | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность.
Раннее кодирование Чена – Хо
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | б9 | б8 | b7 | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d2 | d1 | д0 | Закодированные значения | Описание | Случаи (1000 штатов) | |
50,0% (512 штатов) | 0 | а | б | с | д | и | ж | г | час | я | 0 абв | 0 защита | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 штата) | 1 | 0 | 0 | с | д | и | ж | г | час | я | 100 с | 0 защита | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, на одну большую цифру | 38,4% (384 штата) | |
1 | 0 | 1 | ж | г | час | я | а | б | с | 0 абв | 100 ф | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | я | а | б | с | д | и | ж | 0 абв | 0 защита | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | 0 | 0 | ж | я | а | б | с | 0 абв | 100 ф | 100 я | (0–7) (8–9) (8–9) | Одна нижняя цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | 0 | 1 | я | с | д | и | ж | 100 с | 0 защита | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | 1 | 0 | с | ж | г | час | я | 100 с | 100 ф | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | 1 | 1 | с | ж | я | ( 0 ) | ( 0 ) | 100 с | 100 ф | 100 я | (8–9) (8–9) (8–9) | Три старшие цифры, биты b1 и b0 не имеют значения. | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность.
Запатентованное кодирование Чена-Хо
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | б9 | б8 | b7 | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d2 | d1 | д0 | Закодированные значения | Описание | Случаи (1000 штатов) | |
50,0% (512 штатов) | 0 | а | б | д | и | г | час | с | ж | я | 0 абв | 0 защита | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 штата) | 1 | 0 | 0 | д | и | г | час | с | ж | я | 100 с | 0 защита | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, на одну большую цифру | 38,4% (384 штата) | |
1 | 0 | 1 | а | б | г | час | с | ж | я | 0 абв | 100 ф | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | д | и | а | б | с | ж | я | 0 абв | 0 защита | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | 1 | 0 | а | б | с | ж | я | 0 абв | 100 ф | 100 я | (0–7) (8–9) (8–9) | Одна нижняя цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | 0 | 1 | д | и | с | ж | я | 100 с | 0 защита | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | 0 | 0 | г | час | с | ж | я | 100 с | 100 ф | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | 1 | 1 | ( 0 ) | ( 0 ) | с | ж | я | 100 с | 100 ф | 100 я | (8–9) (8–9) (8–9) | Три старшие цифры, биты b4 и b3 не имеют значения. | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность. [14]
Финальный Чен – Кодирование
[ редактировать ]Двоичное кодирование | Десятичные цифры | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое пространство (1024 состояния) | б9 | б8 | b7 | б6 | б5 | б4 | б3 | б2 | б1 | б0 | d2 | d1 | д0 | Закодированные значения | Описание | Случаи (1000 штатов) | |
50,0% (512 штатов) | 0 | а | б | с | д | и | ж | г | час | я | 0 абв | 0 защита | 0 гхи | (0–7) (0–7) (0–7) | Три младшие цифры | 51,2% (512 штатов) | |
37,5% (384 штата) | 1 | 0 | 0 | с | д | и | ж | г | час | я | 100 с | 0 защита | 0 гхи | (8–9) (0–7) (0–7) | Две младшие цифры, на одну большую цифру | 38,4% (384 штата) | |
1 | 0 | 1 | с | а | б | ж | г | час | я | 0 абв | 100 ф | 0 гхи | (0–7) (8–9) (0–7) | ||||
1 | 1 | 0 | с | д | и | ж | а | б | я | 0 абв | 0 защита | 100 я | (0–7) (0–7) (8–9) | ||||
9,375% (96 штатов) | 1 | 1 | 1 | с | 0 | 0 | ж | а | б | я | 0 абв | 100 ф | 100 я | (0–7) (8–9) (8–9) | Одна нижняя цифра, две старшие цифры | 9,6% (96 штатов) | |
1 | 1 | 1 | с | 0 | 1 | ж | д | и | я | 100 с | 0 защита | 100 я | (8–9) (0–7) (8–9) | ||||
1 | 1 | 1 | с | 1 | 0 | ж | г | час | я | 100 с | 100 ф | 0 гхи | (8–9) (8–9) (0–7) | ||||
3,125% (32 штата, 8 использовано) | 1 | 1 | 1 | с | 1 | 1 | ж | ( 0 ) | ( 0 ) | я | 100 с | 100 ф | 100 я | (8–9) (8–9) (8–9) | Три старшие цифры, биты b2 и b1 не имеют значения. | 0,8% (8 штатов) |
- Эта кодировка не сохраняет четность. [15]
Эффективность хранения
[ редактировать ]двоично-десятичный код | Необходимые биты | Битовая разница | |||||||
---|---|---|---|---|---|---|---|---|---|
Цифры | Штаты | Биты | Пространство двоичного кода | Двоичное кодирование [А] | 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)
- РАДИКС ДЕКАБРЯ 50 / MOD40
- IBM СКВОЗЕ
- Упакованный BCD
- Формат преобразования Юникода (UTF) (аналогичная схема кодирования)
- Код Хаффмана с ограниченной длиной
Примечания
[ редактировать ]- ^ Некоторые 4-битные десятичные коды особенно хорошо подходят в качестве альтернативы BCD-коду 8-4-2-1 : код Jump-at-8 использует те же значения для упорядоченных состояний от 0 до 7, тогда как в Grey BCD и Glixon кодирует значения для состояний от 0 до 7 по-прежнему из того же набора, но упорядочены по-разному (что, однако, прозрачно для кодировок Герца, Чена-Хо или плотно упакованных десятичных чисел (DPD), поскольку они проходят через биты без изменений) . В этих четырех кодах старший бит может использоваться как флаг, обозначающий «большие» значения. Для двух «больших» значений все биты, кроме одного, остаются статическими (два средних бита всегда равны нулю для кода 8-4-2-1 и один для кода перехода на 8, тогда как для кода Grey BCD устанавливается один бит и другой очищается, тогда как для кода Гликсона два младших бита всегда равны нулю, а один бит инвертируется, таким образом, два «больших» значения прозрачно меняются местами), требуя лишь незначительных изменений в кодировании. Три других кода также можно удобно разделить на группы по восемь и два состояния, содержащие значения из двух диапазонов последовательных битовых комбинаций. В случае и Коды Excess-6 BCD и Jump-at-2 , старший бит по-прежнему можно использовать для различения этих двух групп, однако по сравнению с кодом Jump-at-8 группа малых значений теперь содержит только два состояния. и большая группа содержит восемь больших значений. В случае кода О'Брайена типа I и кода Грея-Стибитца следующий по значимости бит может вместо этого служить битом флага, а оставшиеся биты снова образуют две группы последовательных значений. Следовательно, эти различия остаются прозрачными для кодирования.
Ссылки
[ редактировать ]- ^ Jump up to: а б с Мюллер, Жан-Мишель; Бризебар, Николя; де Динешен, Флоран; Жаннерод, Клод-Пьер; Лефевр, Винсент; Мелькионд, Гийом; Револь, Натали ; Стеле, Дэмиен; Торрес, Серж (2010). Справочник по арифметике с плавающей запятой (1-е изд.). Биркхаузер . дои : 10.1007/978-0-8176-4705-6 . ISBN 978-0-8176-4704-9 . LCCN 2009939668 .
- ^ Jump up to: а б с д и ж г час Герц, Теодор М. (2 ноября 1971 г.) [15 декабря 1969 г.]. «Система компактного хранения десятичных чисел» (Патент). Уиттиер, Калифорния, США: Североамериканская корпорация Rockwell . Патент США US3618047A . Проверено 18 июля 2018 г. (8 страниц) [1] [2] (Примечание. В этом патенте с истекшим сроком действия обсуждается система кодирования, очень похожая на систему Чен-Хо, которая также упоминается в качестве предшествующего уровня техники в патенте Чен-Хо .)
- ^ «Мы слышим это...» Физика сегодня . Том. 12, нет. 2. Американский институт физики (АИП). 1959. с. 62. дои : 10.1063/1.3060696 . ISSN 0031-9228 . Архивировано из оригинала 24 июня 2020 г. Проверено 24 июня 2020 г. (1 страница)
- ^ Паркер, Дэвид (2003). «Почетный научный сотрудник - Благодарность - профессор Чэнь Тянь Чи» (PDF) . Список почетных членов. Китайский университет Гонконга (CUHK). Архивировано (PDF) из оригинала 25 декабря 2014 г. Проверено 24 июня 2020 г. (2 страницы)
- ^ «ЧЕН Тянь Чи» . Китайский университет Гонконга (CUHK). 12 января 2013 г. Архивировано из оригинала 23 октября 2015 г. Проверено 7 февраля 2016 г.
- ^ Вонг, Эндрю ВФ (15 августа 2014 г.) [04 июля 2014 г., 23 июня 2014 г., 16 сентября 2013 г., 16 июля 2007 г., 07 июня 2007 г., 04 июня 2007 г., 2007- 20 мая, 16 февраля 2007 г.]. Чэнь Тянь Чи: Ру Мэн Лин (Как будто во сне) . Классические китайские стихи на английском языке (на китайском и английском языках). Перевод Хунфа (宏發), Хуана (黃). Архивировано из оригинала 25 июня 2020 г. Проверено 25 июня 2020 г.
- ^ «Ученому поручено создать научно-ориентированный индустриальный парк» . Научный вестник . Том. 11, нет. 2. Тайбэй, Тайвань: Национальный научный совет . 1 февраля 1979 г. п. 1. ISSN 1607-3509 . ОСЛК 1658005 . Архивировано из оригинала 25 июня 2020 г. Проверено 24 июня 2020 г. (1 страница) [3]
- ^ Ценг, Ли-Линг (1 апреля 1988 г.). «Лидерство в сфере высоких технологий: Ирвинг Т. Хо» . Информация о Тайване . Архивировано из оригинала 8 февраля 2016 г. Проверено 8 февраля 2016 г. [4]
- ^ «Силиконовая долина Тайваня: эволюция промышленного парка Синьчжу» . Институт международных исследований Фримена Спогли . Стэнфордский университет , Стэнфорд, Калифорния, США. 11 января 2000 г. Архивировано из оригинала 26 июня 2020 г. Проверено 2 мая 2017 г.
- ^ «Ирвинг Т. Хо» . Сан-Хосе Меркьюри Ньюс . 26 апреля 2003 г. Архивировано из оригинала 25 июня 2020 г. Проверено 25 июня 2020 г.
- ^ Чен, Тянь Чи (12 марта 1971 г.). Схема преобразования десятично-двоичных целых чисел (Внутренняя памятка Ирвингу Цзе Хо). Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США: IBM .
- ^ Jump up to: а б с д и ж г час я дж Чен, Тянь Чи (29 марта 1971 г.). Сжатие десятичных чисел (PDF) (Внутренняя памятка Ирвингу Цзе Хо). Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США: IBM . стр. 1–4. Архивировано (PDF) из оригинала 17 октября 2012 г. Проверено 7 февраля 2016 г. (4 страницы)
- ^ Старший эксперт IBM доктор Фрэнк Тунг приехал в нашу школу, чтобы выступить с речью 4 августа. [Старший эксперт IBM доктор Фрэнк Тунг пришел в нашу школу 4 августа, чтобы выступить с речью] (на китайском и английском языках). Гуанчжоу, Китай: Южно-Китайский технологический университет (SCUT). 04 августа 2004 г. Архивировано из оригинала 8 декабря 2004 г. Проверено 6 февраля 2016 г.
- ^ Jump up to: а б с д и ж г час я Чен, Тянь-Чи ; Хо, Ирвинг Цзе (15 октября 1974 г.) [18 июня 1973 г.]. Написано в Сан-Хосе, Калифорния, США и Покипси, Нью-Йорк, США. «Устройство преобразования двоично-десятичных чисел» (Патент). Армонк, Нью-Йорк, США: Международная корпорация Business Machines (IBM). Патент США US3842414A . Проверено 18 июля 2018 г. (14 страниц) [5] [6] (Примечание. Этот патент с истекшим сроком действия касается алгоритма Чена – Хо.)
- ^ Jump up to: а б с д и ж г час я дж к л Чен, Тянь-Чи ; Хо, Ирвинг Цзе (январь 1975 г.) [апрель 1974 г.]. «Эффективное представление десятичных данных» . Коммуникации АКМ . 18 (1). Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США, и подразделение системных продуктов IBM, Покипси / Ист-Фишкилл, Нью-Йорк, США: Ассоциация вычислительной техники : 49–52. дои : 10.1145/360569.360660 . ISSN 0001-0782 . S2CID 14301378 . (4 страницы)
- ^ Чен, Тянь-Чи ; Хо, Ирвинг Цзе (25 июня 1974 г.). «Эффективное представление десятичных данных». Отчет об исследованиях RJ 1420 (Технический отчет). Исследовательская лаборатория IBM в Сан-Хосе, Сан-Хосе, Калифорния, США: IBM .
- ^ Jump up to: а б с д Коулишоу, Майкл Фредерик (2014) [июнь 2000 г.]. «Краткое описание кодирования десятичных данных Чен-Хо» . ИБМ . Архивировано из оригинала 24 сентября 2015 г. Проверено 7 февраля 2016 г.
- ^ Смит, Алан Джей (август 1975 г.) [апрель 1975 г.]. «Комментарии к статье TC Chen и IT Ho» . Коммуникации АКМ . 18 (8). Калифорнийский университет , Беркли, Калифорния, США: 463. doi : 10.1145/360933.360986 . eISSN 1557-7317 . ISSN 0001-0782 . S2CID 20910959 . КОДЕН CACMA2 . Архивировано из оригинала 3 июня 2020 г. Проверено 3 июня 2020 г. (1 страница) (Примечание. В публикации также обсуждаются альтернативы и варианты Чен-Хо.)
- ^ Сакс-Дэвис, Рон (1 ноября 1982 г.) [январь 1982 г.]. «Применение представлений избыточных чисел к десятичной арифметике» . Компьютерный журнал . 25 (4). Факультет компьютерных наук Университета Монаша , Клейтон, Виктория, Австралия: Wiley Heyden Ltd : 471–477. дои : 10.1093/comjnl/25.4.471 . (7 страниц)
- ^ Коулишоу, Майкл Фредерик (25 февраля 2003 г.) [20 мая 2002 г., 27 января 2001 г.]. Написано в Ковентри, Великобритания. «Кодер/декодер десятичных чисел в двоичные» (Патент). Армонк, Нью-Йорк, США: Международная корпорация Business Machines (IBM). Патент США US6525679B1 . Проверено 18 июля 2018 г. (6 страниц) [7] и Коулишоу, Майкл Фредерик (7 ноября 2007 г.) [14 января 2004 г., 14 августа 2002 г., 24 сентября 2001 г., 27 января 2001 г.]. Написано в Винчестере, Хэмпшир, Великобритания. «Кодер/декодер десятичных чисел в двоичные» (Патент). Армонк, Нью-Йорк, США: Международная корпорация Business Machines (IBM). Европейский патент EP1231716A2 . Проверено 18 июля 2018 г. (9 страниц) [8] [9] [10] (Примечание. В этом патенте на DPD также обсуждается алгоритм Чена – Хо.)
- ^ Коулишоу, Майкл Фредерик (7 августа 2002 г.) [май 2002 г.]. «Плотно упакованное десятичное кодирование» . Труды IEE - Компьютеры и цифровая техника . 149 (3). Лондон, Великобритания: Институт инженеров-электриков (IEE): 102–104. дои : 10.1049/ip-cdt:20020407 . ISSN 1350-2387 . Проверено 7 февраля 2016 г. [ мертвая ссылка ] (3 страницы)
- ^ Коулишоу, Майкл Фредерик (13 февраля 2007 г.) [03 октября 2000 г.]. «Краткое описание плотно упакованного десятичного кодирования» . ИБМ . Архивировано из оригинала 24 сентября 2015 г. Проверено 7 февраля 2016 г.
- ^ Савард, Джон Дж. Г. (2018) [2007]. «Кодирование Чен-Хо и плотно упакованная десятичная дробь» . четырехблок . Архивировано из оригинала 3 июля 2018 г. Проверено 16 июля 2018 г.
- ^ Функция совместимости 7070/7074 для моделей IBM System / 370 165, 165 II и 168 (PDF) (2-е изд.). ИБМ . Июнь 1973 г. [1970]. ГА22-6958-1 (Дело № 5/370-13). Архивировано (PDF) из оригинала 22 июля 2018 г. Проверено 21 июля 2018 г. (31+5 страниц)
Дальнейшее чтение
[ редактировать ]- Бонтен, Джо ХМ (6 октября 2009 г.) [05 октября 2006 г.]. «Упакованная десятичная кодировка IEEE-754-2008» . Гелдроп, Нидерланды. Архивировано из оригинала 11 июля 2018 г. Проверено 11 июля 2018 г.
- Савард, Джон Дж. Г. (2018) [2001]. «База-26 Броня» . четырехблок . Архивировано из оригинала 21 июля 2018 г. Проверено 21 июля 2018 г.
- Ринальди, Рассел Г.; Мур, Брайан Б. (21 марта 1967 г.) [30 июня 1964 г.]. Написано в Покипси и Нью-Палц, Нью-Йорк, США. «Сжатие/расширение данных и обработка сжатых данных» (Патент). Нью-Йорк, США: Международная корпорация Business Machines (IBM). Патент США US3310786A . Проверено 18 июля 2018 г. (60 страниц) [11] , Ринальди, Рассел Г.; Мур, Брайан Б. (20 мая 1969 г.) [19 января 1967 г., 30 июня 1964 г.]. Написано в Покипси и Нью-Палц, Нью-Йорк, США. «Последовательный цифровой сумматор, использующий формат сжатых данных» (Патент). Нью-Йорк, США: Международная корпорация Business Machines (IBM). Патент США US3445641A . Проверено 18 июля 2018 г. (40 страниц) [12] и Ринальди, Рассел Г.; Мур, Брайан Б. (11 марта 1969 г.) [19 января 1967 г., 30 июня 1964 г.]. Написано в Покипси и Нью-Палц, Нью-Йорк, США. «Сжатие/расширение данных и обработка сжатых данных» (Патент). Нью-Йорк, США: Международная корпорация Business Machines (IBM). Патент США US3432811A . Проверено 18 июля 2018 г. (11 страниц) [13] (Примечание: в обоих упомянуты три патента с истекшим сроком действия: патенты Герца и Чен-Хо .)
- Бендер, Ричард Р.; Галадж, Доминик Дж. (август 1961 г.). «Контроль режима упаковки». Бюллетень технической информации IBM . 4 (3): 61–63.
- Тилем, JY (декабрь 1962 г.). «Средства упаковки и распаковки данных». Бюллетень технической информации IBM . 5 (7): 48–49.
- Лендьел, Э.Дж.; МакМахон, РФ (март 1967 г.). «Генератор адресов из прямого десятичного числа в двоичный для небольших запоминающих устройств» . Бюллетень технической информации IBM . 9 (10): 1347 . Проверено 3 июня 2020 г.