Оглавление
- 1 Двоично-десятичный код
- 1.1 Двоично-десятичная кодировка (BCD)
- 1.2 Преимущества и недостатки BCD
- 1.3 История и использование
- 1.4 Кодирование BCD
- 1.5 Упакованный BCD
- 1.6 Дополнительные представления
- 1.7 Упакованная десятичная система счисления с фиксированной запятой
- 1.8 Хранение десятичной точки в BCD
- 1.9 Кодировки с высокой плотностью
- 1.10 Зональная десятичная система счисления
- 1.11 Десятичная система счисления с фиксированной запятой
- 1.12 Операции с BCD
- 1.13 BCD в компьютерах
- 1.14 Другие компьютеры
- 1.15 Использование BCD в электронике
- 1.16 Преимущества и недостатки BCD
- 1.17 Реализации и вариации BCD
- 1.18 Альтернативные кодировки
- 1.19 Применение BCD
- 1.20 Юридическая история
- 1.21 Связанные темы
- 1.22 Полный текст статьи:
- 2 Двоично-десятичный код – Arc.Ask3.Ru
Двоично-десятичный код
-
Двоично-десятичная кодировка (BCD)
- BCD использует фиксированное число битов для представления каждой цифры.
- В байт-ориентированных системах BCD может быть распакованным или упакованным.
- Упакованный BCD кодирует две цифры в одном байте.
-
Преимущества и недостатки BCD
- Более точное представление и округление десятичных величин.
- Простота преобразования в обычные представления.
- Небольшое увеличение сложности схем и меньшая плотность памяти.
-
История и использование
- BCD использовался в ранних десятичных компьютерах и в наборах команд IBM, VAX, Burroughs и Motorola.
- В современных наборах команд BCD не используется широко.
- Десятичные форматы с фиксированной и плавающей запятой остаются важными в финансовых и промышленных вычислениях.
-
Кодирование BCD
- Естественное кодирование BCD (NBCD) использует четырехбитовые шаблоны.
- Другие кодировки включают “4221”, “7421” и “Избыток-3”.
- Упакованный BCD более эффективен в использовании памяти.
-
Упакованный BCD
- Каждая дробь представляет собой десятичную цифру.
- Используется с 1960-х годов и реализован в мэйнфреймах IBM.
- Стандартные знаки: 1100 (C) для положительных, 1101 (D) для отрицательных.
- Упакованный BCD поддерживает языки программирования COBOL и PL/I.
-
Дополнительные представления
- Альтернативный подход к кодированию знака: положительные числа имеют старшую цифру от 0 до 4, отрицательные числа представлены десятичным дополнением.
- Диапазон: от -50 000 000 до +49 999 999.
-
Упакованная десятичная система счисления с фиксированной запятой
- Поддерживается некоторыми языками программирования.
- Позволяет программисту указывать неявную десятичную точку перед одной из цифр.
-
Хранение десятичной точки в BCD
- Десятичная точка не сохраняется в памяти, а известна компилятору.
- Сгенерированный код выполняет арифметические операции.
-
Кодировки с высокой плотностью
- Для трех десятичных цифр требуется 12 бит, но можно использовать 10 бит.
- Кодировки Чен–Хо и DPD используют 10 бит для трех цифр.
-
Зональная десятичная система счисления
- Каждая десятичная цифра хранится в одном байте.
- Четыре верхних бита кодируют зону, а младшие четыре бита — цифру.
- Системы EBCDIC и ASCII используют разные значения зоны.
-
Десятичная система счисления с фиксированной запятой
- Некоторые языки поддерживают десятичные значения с фиксированной запятой.
- Пример: F1, F2, F7, F9, F5, C0 представляет +1279,50.
-
Операции с BCD
- Сложение выполняется путем сложения в двоичном формате и преобразования в BCD.
- Вычитание производится путем добавления десятичного дополнения вычитаемого числа.
-
BCD в компьютерах
- IBM использовала BCDIC для буквенно-цифровых кодов.
- IBM 1620 и 1400 использовали 6-разрядные буквенно-цифровые коды.
- IBM 7070 и 7072 использовали 10-разрядные буквенно-цифровые коды.
- System/360 расширила BCD до 8-разрядной EBCDIC.
- BCD по-прежнему используется в базах данных IBM и процессорах.
-
Другие компьютеры
- VAX поддерживает арифметические действия с упакованными данными BCD.
- Многие процессоры имеют аппаратную поддержку BCD.
- Современные компьютеры реализуют BCD в программном обеспечении.
-
Использование BCD в электронике
- BCD упрощает манипулирование числовыми данными для отображения.
- Каждая цифра рассматривается как отдельная подсхема, что соответствует физической реальности оборудования.
- BCD уменьшает объем кода и упрощает взаимодействие с дисплеями.
-
Преимущества и недостатки BCD
- Масштабирование и округление проще.
- Сложение и вычитание не требуют округления.
- Преобразование в символьную форму и для отображения выполняется за линейное время.
- BCD позволяет избежать ошибок при представлении и вычислении нецелых значений.
- BCD медленнее и требует больше микросхем, чем двоичное кодирование.
-
Реализации и вариации BCD
- Программируемые калькуляторы используют BCD с плавающей запятой.
- COBOL поддерживает пять зональных десятичных форматов.
- TBCD используется в мобильной телефонии для отправки набранных номеров.
-
Альтернативные кодировки
- Масштабированное двоичное представление подходит для приложений с фиксированным количеством знаков после запятой.
- Кодировки Hertz и Chen–Ho обеспечивают логические преобразования для BCD.
- DPD используется для большинства значений, за исключением начальной цифры.
-
Применение BCD
- BIOS на многих компьютерах хранит дату и время в формате BCD.
- 8-разрядные компьютеры Atari используют BCD для чисел с плавающей запятой.
- Ранние модели PlayStation 3 хранили дату и время в формате BCD, что привело к ошибке 2010 года.
-
Юридическая история
- В 1972 году Верховный суд США отменил патент на преобразование чисел в BCD.
-
Связанные темы
- Двукратное кодированное десятичное число
- Троичный код в двоичном коде (BCT)
- Двоичное целое десятичное число (СТАВКА)
- Битовая маска
- Кодировка Чен–Хо
- Десятичный компьютер
- Плотно упакованный десятичный код (DPD)
- Double dabble – алгоритм преобразования двоичных чисел в BCD
- Проблема 2000 года выпуска