
Понятие смешанной системы счисления
Среди систем счисления выделяют класс так называемых смешанных систем счисления.
Смешанной называется такая система счисления, в которой числа, заданные в некоторой системе счисления с основанием P изображаются с помощью цифр другой системы счисления с основанием Q, где $Q
При этом в такой системе счисления во избежание разночтения для изображения каждой цифры системы с основанием P отводится одинаковое количество разрядов системы с основанием Q, достаточное для представления любой цифры системы с основанием P.
Примером смешанной системы счисления является двоично-десятичная система.
Практическое обоснование использования двоично-десятичной системы счисления
Поскольку человек в своей практике широко использует десятичную систему счисления, а для компьютера свойственно оперирование двоичными числами и двоичной арифметикой, был введен в практику компромиссный вариант - система двоично-десятичной записи чисел, которая, как правило, используется там, где присутствует необходимость частого использования процедуры десятичного ввода-вывода (например, электронные часы, калькуляторы и т.д.). В подобных устройствах не всегда целесообразно применять универсальный микрокод перевода двоичных чисел в десятичные и обратно по причине малого объема программной памяти.
В некоторых типах ЭВМ в арифметико-логических устройствах (АЛУ) имеются специальные блоки десятичной арифметики, которые выполняют операции над числами, представленными в двоично-десятичном коде. Это позволяет в некоторых случаях существенно повысить производительность ЭВМ.
К примеру, в автоматизированной системе обработки данных используется большое количество чисел, а вычислений при этом немного. В подобном случае операции перевода чисел из одной системы в другую существенно превысили бы время выполнения операций по обработке информации. Микропроцессоры же используют чистые двоичные числа, однако при этом понимают и команды преобразования в двоично-десятичную запись. АЛУ AVR-микроконтроллера (как и других микропроцессоров) выполняет элементарные арифметические и логические операции над числами, представленными в двоичном коде, а именно:
-
считывает результаты преобразования АЦП;
-
в формате целых чисел или чисел с плавающей точкой выполняет обработку результатов измерения.
Однако окончательный результат при этом выводится на индикатор в десятичном формате, удобном для восприятия человеком.
Принципы построения двоично-десятичной системы счисления
При построении двоично-десятичной системы счисления для изображения каждой десятичной цифры в ней отводится 4 двоичных разряда, поскольку максимальная десятичная цифра 9 кодируется как 10012.
Например: 92510=1001001001012−10.
Рисунок 1.
В данной записи последовательные четверки двоичных разрядов изображают цифры 9, 2 и 5 десятичной записи соответственно.
Для записи числа в двоично-десятичной системе счисления его необходимо сначала представить в десятичной системе, а затем каждую, входящую в состав числа, десятичную цифру представить в двоичной системе. При этом для написания различных десятичных цифр в двоичной системе счисления требуется разное количество двоичных разрядов. Чтобы обойтись без применения каких-либо разделительных знаков, при двоичном изображении десятичной цифры всегда записывается 4 двоичных разряда. Группа из этих четырех разрядов называется тетрадой.
Хотя в двоично-десятичной записи используются только цифры 0 и 1, она отличается от двоичного изображения данного числа, так как десятичный эквивалент двоичного числа в несколько раз больше десятичного эквивалента двоично-десятичного числа.
Например:
100100100101(2)=2341(10),
100100100101(2)=925(2−10).
Такая запись довольно часто используется как промежуточный этап при переводе числа из десятичной системы в двоичную и обратно. Так как число 10 не является точной степенью числа 2, то используются не все 16 тетрад (тетрады, изображающие числа от A до F отбрасываются, так как эти числа считаются запрещенными), алгоритмы же арифметических операций над многозначными числами в этом случае более сложные, чем в основных системах счисления. И, тем не менее, двоично-десятичная система счисления используется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах.
Чтобы откорректировать результаты арифметических операций над числами, представленными в двоично-десятичном коде, в микропроцессорной технике используются команды, которые преобразуют результаты операций в двоично-десятичную систему счисления. При этом используется следующее правило: при получении в результате операции (сложения или вычитания) в тетраде числа, большего, чем 9, к этой тетраде прибавляют число 6.
Например: 75+18=93.
+00011000
10001101 (8D)
В младшей тетраде появилась запрещенная цифра D. Прибавим к младшей тетраде 6 и получим:
+00000110
10010011 (93)
Как видим, несмотря на то, что сложение осуществлялось в двоичной системе счисления результат операции получился в двоично-десятичной.
Поразрядное уравновешивание часто осуществляют на основе двоично-десятичной системы счисления. Применение двоичной и двоично-десятичной системы счисления наиболее целесообразно, поскольку в этом случае число тактов уравновешивания оказывается наименьшим среди прочих систем счисления. Заметим, что применение двоичного кода позволяет примерно на 20% уменьшить время обработки компенсирующего напряжения по сравнению с двоично-десятичным.
Преимущества использования двоично-десятичной системы счисления
Преобразование чисел из десятичной системы в двоично-десятичную систему счисления не связано с вычислениями и его легко реализовать, используя при этом простейшие электронные схемы, так как преобразовывается небольшое количество (4) двоичных цифр. Обратное же преобразование происходит в ЭВМ автоматически с помощью особой программы перевода.
Применение двоично-десятичной системы счисления совместно с одной из основных систем счисления (двоичной) позволяет разрабатывать и создавать высокопроизводительные ЭВМ, так как использование блока десятичной арифметики в АЛУ исключает при решении задач необходимость программированного перевода чисел из одной системы счисления в другую.
Поскольку две двоично-десятичные цифры составляют 1 байт, с помощью которого можно представить значения чисел от 0 до 99, а не от 0 до 255, как при использовании 8-разрядного двоичного числа, то используя 1 байт для преставления каждых двух десятичных цифр, можно формировать двоично-десятичные числа с любым требуемым числом десятичных разрядов.
