Представление чисел в двоичном коде. Запись десятичных чисел (двоично-десятичный код) Числа в двоично десятичной системе счисления

27.06.2020

Двоично-кодированная десятичная система счисления (D-коды)

Непосредственное изображение десятичных чисел приводит к необходимости двоичного кодирования десятичных цифр. Устройствам, выполняющим арифметические преобразования с десятичными числами, присваивается специальный термин «десятичная арифметика». Такие устройства должны иметь максимальное сходство с обычными двоичными устройствами.

Десятичная арифметика включается в состав аппаратурных средств высокопроизводительных систем с целью исключения преобразований исходных данных в двоичную форму и результатов в десятичную.

Двоично-кодированная десятичная система является комбинированной системой счисления, которая обладает достоинствами двоичной и удобством десятичной системы.

D -код - это двоично-кодированное представление десятичного числа, в котором каждая десятичная цифра представляется тетрадой из двоичных символов.

Количество различных двоичных тетрад N = 2 4 = 16. Для кодирования двоичных цифр из них используется только десять. Наличие избыточных комбинаций позволяет иметь различные D -коды. В ЭВМ наибольшее применение нашли системы кодирования 8421 - D 1 , 2421 - D 2 , (8421+3) - D 4 . Появляющаяся избыточность приводит к множеству кодирования десятичных цифр, из которых следует выбирать оптимальную.

Код 8421 (табл. 2.4) называется кодом с естественными весами , где цифры 8,4,2,1 - веса двоичных разрядов тетрад. Любая десятичная цифра в этом коде изображается ее эквивалентом в двоичной системе счисления. Этот код нашел наибольшее применение при кодировании десятичных чисел в устройствах ввода-вывода и при построении операционных устройств десятичной арифметики.

Особенность кодов D 2 и D 4 (8421+3) или кода с избытком 3 в том, что кодирование любой десятичной цифры и дополнительной к ней цифры до 9 осуществляется взаимно дополняющими тетрадами. Эта особенность дает простой способ получения дополнения до 9 путем инвертирования двоичных цифр тетрады. Такие коды удобно использовать для организации операции вычитания при построении десятичных сумматоров.

Таблица 2.4

Примеры кодирования десятичных цифр тетрадами

Десятичная цифра

Эквиваленты в D -кодах

D 1 (8421)

D 2 (2421)

D 4 (8421+3)

Приведем пример кодирования десятичного числа A = 8371 в двоично-кодированной десятичной системе счисления:

D 1: A = 1000 0011 0111 0001 (2/10) ;

D 2: A = 1110 0011 1101 0001 (2/10) ;

D 4: A = 1011 0110 1010 0100 (2/10).

Оптимальность кодирования определяется шестью требованиями, которым должен удовлетворять десятичный код.

1. Однозначность. Каждой десятичной цифре должен соответствовать определенный, отличающийся от других, двоичный код.

Невыполнение данного требования приводит к неоднозначности результатов.

2. Упорядоченность. Большим десятичным цифрам должны соответствовать большие тетрады десятичного кода и, наоборот, меньшим - меньшие тетрады.

Выполнение данного требования необходимо для организации количественного сравнения цифр в десятичных разрядах.

3. Четность. Четным цифрам должны соответствовать четные тетрады, нечетным цифрам - нечетные тетрады. Соответствие может быть отмечено любым способом.

Выполнение данного требования необходимо для выполнения округления результата.

4. Дополнительность. Если x1 и х2 - такие две цифры, для которых х1+х2 = 9 и цифре x1 сопоставляется тетрада, то цифре х2, если удовлетворяется требование дополнительности, должна сопоставляться тетрада, получаемая путем инверсии двоичных разрядов кода цифры х1.

Требование дополнительности необходимо для упрощения реализации дополнительных и обратных кодов десятичных чисел.

5. Весомозначность. Должны существовать четыре целых положительных числа: pз,р2,p1,p0, называемых весами, с помощью которых можно определить десятичную цифру х по значению двоичной тетрады, сопоставленной х, по формуле

Выполнение данного требования способствует декодированию.

6. Непрерывность. Непрерывной последовательности изменений значения цифр должна соответствовать непрерывная последовательность изменений значения тетрад.

Ни один из десятичных кодов не удовлетворяет одновременно всем шести перечисленным требованиям.

Наибольшее распространение в ВТ нашел код прямого замещения с весом разрядов 8421. Этот код самый наглядный и удобный, так как в соответствии с названием кода десятичная цифра в нем соответствующим значением двоичного кода. Однако код 8421 не удовлетворяет требованию дополнительности, поэтому действия в этом коде с изменением знака десятичного числа связаны с инверсией разрядов или взятия дополнения, то есть требуют дополнительных коррекций и/или временных затрат.

Достоинствами двоично-кодированной десятичной системы счисления относительно двоичной являются:

  • · отсутствие необходимости перевода исходных данных и результатов из одной системы счисления в другую;
  • · удобство контроля промежуточных результатов путем вывода их на индикацию для внутреннего наблюдения;
  • · более широкие возможности для автоматического контроля из-за наличия в D -кодах избыточных комбинаций.

D -коды применяют для решения экономических задач, которые характеризуются большим объемом исходных данных, сравнительной простотой и малым объемом выполняемых над ними преобразований и большим количеством результатов вычислений. Эта система широко используется в калькуляторах и персональных микроЭВМ.


Двоично-десятичная система счисления получила большое распространение в современных компьютерах из-за легкости перевода в десятичную систему и обратно. Она используется там, где основное внимание уделяется не простоте технического построения машины, а удобству работы пользователя. В этой системе счисления все десятичные цифры отдельно кодируются четырьмя двоичными цифрами и в таком виде записываются последовательно друг за другом.

Двоично-десятичная система не экономична с точки зрения реализации технического построения машины (примерно на 20 % увеличивается требуемое оборудование), но очень удобна при подготовке задач и при программировании. В двоично-десятичной системе счисления основанием системы счисления является число 10, но каждая десятичная цифра (0, 1, ..., 9) изображается, то есть кодируется, двоичными цифрами. Для представления одной десятичной цифры используются четыре двоичных. Здесь, конечно, имеется избыточность, поскольку 4 двоичных цифры (или двоичная тетрада) могут изобразить не 10, а 16 чисел, но это уже издержки производства в угоду удобству программирования. Существует целый ряд двоично-кодированных десятичных систем представления чисел, отличающихся тем, что определенным сочетаниям нулей и единиц внутри одной тетрады поставлены в соответствие те или иные значения десятичных цифр. В наиболее часто используемой естественной двоично-кодированной десятичной системе счисления веса двоичных разрядов внутри тетрады естественны, то есть 8, 4, 2, 1 (табл. 6).

Таблица 6

Двоично-десятичная счисления

Например, десятичное число 5673 в двоично-десятичном представлении имеет вид 01010110011100011.

Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.

1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней двойки:

Таблица 7.

Степени числа 2

n (степень)

Пример. Число перевести в десятичную систему счисления.

2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней восьмерки:

Таблица 8.

Степени числа 8

n (степень)
8 n

Пример. Число 75013 8 перевести в десятичную систему счисления.

Двоично-десятичная система счисления

Двоично-десятичная система счисления получила большое распространение в современных компьютерах из-за легкости перевода в десятичную систему и обратно. Она используется там, где основное внимание уделяется не простоте технического построения машины, а удобству работы пользователя. В этой системе счисления все десятичные цифры отдельно кодируются четырьмя двоичными цифрами и в таком виде записываются последовательно друг за другом.

Двоично-десятичная система не экономична с точки зрения реализации технического построения машины (примерно на 20 % увеличивается требуемое оборудование), но очень удобна при подготовке задач и при программировании. В двоично-десятичной системе счисления основанием системы счисления является число 10, но каждая десятичная цифра (0, 1, ..., 9) изображается, то есть кодируется, двоичными цифрами. Для представления одной десятичной цифры используются четыре двоичных. Здесь, конечно, имеется избыточность, поскольку 4 двоичных цифры (или двоичная тетрада) могут изобразить не 10, а 16 чисел, но это уже издержки производства в угоду удобству программирования. Существует целый ряд двоично-кодированных десятичных систем представления чисел, отличающихся тем, что определенным сочетаниям нулей и единиц внутри одной тетрады поставлены в соответствие те или иные значения десятичных цифр.
Размещено на реф.рф
В наиболее часто используемой естественной двоично-кодированной десятичной системе счисления веса двоичных разрядов внутри тетрады естественны, то есть 8, 4, 2, 1 (табл. 6).

Таблица 6

Двоично-десятичная счисления

Например, десятичное число 5673 в двоично-десятичном представлении имеет вид 01010110011100011.

Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.

1. Для перевода двоичного числа в десятичное необходимо ᴇᴦο записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики˸

При переводе удобно пользоваться таблицей степеней двойки˸

Таблица 7.

Степени числа 2

n (степень)

Пример. Число перевести в десятичную систему счисления.

2. Для перевода восьмеричного числа в десятичное необходимо ᴇᴦο записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики˸

При переводе удобно пользоваться таблицей степеней восьмерки˸

Таблица 8.

Степени числа 8

n (степень)
8 n

Двоично-десятичная система счисления - понятие и виды. Классификация и особенности категории "Двоично-десятичная система счисления" 2015, 2017-2018.

(Методическая разработка)

Задание: Преобразовать числа, выраженные в десятичной форме, в двоичную форму, затем произвести умножение.

Примечание: Правила умножения точно такие же, как и в десятичной системе счисления.

Умножить: 5 × 5 = 25

Преобразуем десятичное число 5 в двоичный код

5: 2 = 2 остаток 1 Полученный результат

2: 2 = 1 остаток 0 записываем в обратном

1: 2 = 0 остаток 1 порядке

Таким образом: 5 (10) = 101 (2)

Преобразуем десятичное число 25 в двоичный код

25: 2 = 12 остаток 1

12: 2 = 6 остаток 0 Полученный результат

6: 2 = 3 остаток 0 записываем в обратном

3: 2 = 1 остаток 1 порядке

1: 2 = 0 остаток 1

Таким образом: 11001 (2) = 25 (10)

Производим проверку:

Производим двоичное умножение

×
101
+
101

Правила умножения в двоичной системе точно такие же, как и в десятичной системе счисления.

1) 1 × 1, будет 1, записываем 1.

2) 1 × 0, будет 0, записываем 0.

3) 1 × 1, будет 1, записываем 1.

4) Записываем три нуля, причем первый ноль под вторым знаком (нулем).

5) Умножение 1 × 101 точно такое же, как и п.п. 1, 2, 3.

Производим операцию сложения.

6) Сносим и записываем 1.

7) 0 +0 будет ноль, записываем 0.

8) 1 + 1 будет 10, записываем ноль, а единицу переносим в старший разряд.

9) 0 + 0 + 1 будет 1, записываем 1

10) Сносим и записываем 1.

Задание 1: Выполнить умножение в двоичной форме

Задание: Преобразовать числа, выражение в десятичной форме, в двоичную форму, затем произвести деление.

Примечание: Правила деления точно такие – же, как и в десятичной системе счисления.

Если результат делится без остатка, записываем – 0, иначе (с остатком) – 1

Разделить: 10:2 = 5

Преобразуем десятичное число 10 в двоичный код:

10:2 = 5 остаток 0 5:2 = 2 остаток 1 2:2 = 1 остаток 0 1:2 = 0 остаток 1

Полученный результат

записываем в обратном

Таким образом: 1010 (2) = 10 (10)

Преобразуем десятичное 2 в двоичный код

2:2 = 1 остаток 0

1:2 = 0 остаток 1



Таким образом: 10 (2) = 2 (10)

Преобразуем десятичное 5 в двоичное код

5:2 = 2 остаток 1

2:2 = 1 остаток 0

1:2 = 0 остаток 1

Таким образом: 101 (2) = 5 (10)

Производим проверку:

1010 (2) = 0×2 0 + 1×2 1 + 0×2 2 + 1×2 3 = 0 +2+0+8 =10 (10)

10 (2) = 0×2 0 +1×2 1 = 0 +2 = 2 (10)

101 (2) = 1×2 0 +0×2 1 +1×2 2 = 1+ 0+4 = 5 (10)

Производим двоичное деление:

1010 (2) : 10 (2) = 101 (2)

1010 (2) 10
10

Правила деления в двоичной системе точно такие же, как и в десятичной.

1) 10 разделить на 10. Берём по 1, в результат записываем 1.

2) Сносим 1 (единицу), не хватает, занимаем 0 (ноль).

3) Берём по 1. Из 10 (десяти) вычесть 10 получается ноль, что и соответствует
действительности.

Задание 1: Выполнить деление в двоичной форме

1) 10010 (2) : 110 (2) =

11000 (2) : 110 (2) =

2) 110110 (2) : 110 (2) =

Задание 2: Полученный результат восстановить в десятичной форме.

Задание: Вычесть числа, выраженные в двоичной форме, полученный результат восстановить в десятичную форму.

Вычесть: 1100 (2) – 110 (2) =

Правила вычитания в двоичной форме.

Вычитание в двоичной форме подобно вычитанию в десятичной системе.

110 0 + 0 = 0

110 0 + 1 = 1

1) 0 плюс 0 равно 0 (См. правила сложения чисел).

2) 1 плюс 1 равно 10. Записываем ноль, а единицу переносим в старший разряд, как и в десятичной системе

3) 1 плюс 1 плюс 1 равно 11 – двоичное число. Записываем 1, а вторую единицу
переносим в старший разряд. Получаем: 1100 (2) , что и соответствует действительности.

Задание: Произвести проверку полученного результата.

1100 (2) = 0×2 0 + 0×2 1 +1×2 2 +1×2 3 = 0 + 0 + 4 + 8 = 12 (10)

110 (2) = 0×2 0 +1×2 1 +1×2 2 = 0 + 2 + 4 = 6 (10)

Таким образом, получаем: 6 + 6 = 12, что соответствует действительности.

Выполнить самостоятельно:

Задание 1. Выполнить вычитание в двоичной форме:

+
1010 10 (10)

110 6 (10)

10000 соответствует: 16 (10)

Выполнение действий происходит следующим образом.

1) 0 плюс 0 равно О

2) 1 плюс 1 равно 10 (что 2 (два) в двоичной системе представляется как 10);
Исторически сложилось, что для сложения чисел использовалось десять пальцев и наоборот:

9 + 1 = 10; 8 + 2 = 10; 1 + 9 = 10; 2 + 8 = 10.

Поэтому и произошла десятичная система счисления. А в двоичной 2 (два) знака: 1 и 0

3) 1 плюс 0 плюс 1 равно 10. Записываем 0 и переносим 1.

4) 1 плюс 1 равно 10, поскольку это последнее действие, записываем 10, точно также сделали это в десятичной системе.

Задание: Произвести проверку полученного результата:

110

Понятие смешанной системы счисления

Среди систем счисления выделяют класс так называемых смешанных систем счисления .

Определение 1

Смешанной называется такая система счисления , в которой числа, заданные в некоторой системе счисления с основанием $P$ изображаются с помощью цифр другой системы счисления с основанием $Q$, где $Q

При этом в такой системе счисления во избежание разночтения для изображения каждой цифры системы с основанием $P$ отводится одинаковое количество разрядов системы с основанием $Q$, достаточное для представления любой цифры системы с основанием $P$.

Примером смешанной системы счисления является двоично-десятичная система.

Практическое обоснование использования двоично-десятичной системы счисления

Поскольку человек в своей практике широко использует десятичную систему счисления, а для компьютера свойственно оперирование двоичными числами и двоичной арифметикой, был введен в практику компромиссный вариант - система двоично-десятичной записи чисел , которая, как правило, используется там, где присутствует необходимость частого использования процедуры десятичного ввода-вывода (например, электронные часы, калькуляторы и т.д.). В подобных устройствах не всегда целесообразно применять универсальный микрокод перевода двоичных чисел в десятичные и обратно по причине малого объема программной памяти.

Замечание 1

В некоторых типах ЭВМ в арифметико-логических устройствах (АЛУ) имеются специальные блоки десятичной арифметики, которые выполняют операции над числами, представленными в двоично-десятичном коде. Это позволяет в некоторых случаях существенно повысить производительность ЭВМ.

К примеру, в автоматизированной системе обработки данных используется большое количество чисел, а вычислений при этом немного. В подобном случае операции перевода чисел из одной системы в другую существенно превысили бы время выполнения операций по обработке информации. Микропроцессоры же используют чистые двоичные числа, однако при этом понимают и команды преобразования в двоично-десятичную запись. АЛУ AVR-микроконтроллера (как и других микропроцессоров) выполняет элементарные арифметические и логические операции над числами, представленными в двоичном коде, а именно:

    считывает результаты преобразования АЦП;

    в формате целых чисел или чисел с плавающей точкой выполняет обработку результатов измерения.

Однако окончательный результат при этом выводится на индикатор в десятичном формате, удобном для восприятия человеком.

Принципы построения двоично-десятичной системы счисления

При построении двоично-десятичной системы счисления для изображения каждой десятичной цифры в ней отводится $4$ двоичных разряда, поскольку максимальная десятичная цифра $9$ кодируется как $10012$.

Например: $925_{10} = 1001 0010 0101_{2-10}$.

Рисунок 1.

В данной записи последовательные четверки двоичных разрядов изображают цифры $9$, $2$ и $5$ десятичной записи соответственно.

Для записи числа в двоично-десятичной системе счисления его необходимо сначала представить в десятичной системе, а затем каждую, входящую в состав числа, десятичную цифру представить в двоичной системе. При этом для написания различных десятичных цифр в двоичной системе счисления требуется разное количество двоичных разрядов. Чтобы обойтись без применения каких-либо разделительных знаков, при двоичном изображении десятичной цифры всегда записывается 4 двоичных разряда. Группа из этих четырех разрядов называется тетрадой .

Хотя в двоично-десятичной записи используются только цифры $0$ и $1$, она отличается от двоичного изображения данного числа, так как десятичный эквивалент двоичного числа в несколько раз больше десятичного эквивалента двоично-десятичного числа.

Например:

$1001 0010 0101_{(2)} = 2341_{(10)}$,

$1001 0010 0101_{(2)} = 925_{(2-10)}$.

Такая запись довольно часто используется как промежуточный этап при переводе числа из десятичной системы в двоичную и обратно. Так как число $10$ не является точной степенью числа $2$, то используются не все $16$ тетрад (тетрады, изображающие числа от $A$ до $F$ отбрасываются, так как эти числа считаются запрещенными), алгоритмы же арифметических операций над многозначными числами в этом случае более сложные, чем в основных системах счисления. И, тем не менее, двоично-десятичная система счисления используется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах.

Чтобы откорректировать результаты арифметических операций над числами, представленными в двоично-десятичном коде, в микропроцессорной технике используются команды, которые преобразуют результаты операций в двоично-десятичную систему счисления. При этом используется следующее правило: при получении в результате операции (сложения или вычитания) в тетраде числа, большего, чем $9$, к этой тетраде прибавляют число $6$.

Например: $75+18=93$.

$10001101 \ (8D)$

В младшей тетраде появилась запрещенная цифра $D$. Прибавим к младшей тетраде $6$ и получим:

$10010011 \ (93)$

Как видим, несмотря на то, что сложение осуществлялось в двоичной системе счисления результат операции получился в двоично-десятичной.

Замечание 2

Поразрядное уравновешивание часто осуществляют на основе двоично-десятичной системы счисления . Применение двоичной и двоично-десятичной системы счисления наиболее целесообразно, поскольку в этом случае число тактов уравновешивания оказывается наименьшим среди прочих систем счисления. Заметим, что применение двоичного кода позволяет примерно на $20\%$ уменьшить время обработки компенсирующего напряжения по сравнению с двоично-десятичным.

Преимущества использования двоично-десятичной системы счисления

Преобразование чисел из десятичной системы в двоично-десятичную систему счисления не связано с вычислениями и его легко реализовать, используя при этом простейшие электронные схемы, так как преобразовывается небольшое количество (4) двоичных цифр. Обратное же преобразование происходит в ЭВМ автоматически с помощью особой программы перевода.

Применение двоично-десятичной системы счисления совместно с одной из основных систем счисления (двоичной) позволяет разрабатывать и создавать высокопроизводительные ЭВМ, так как использование блока десятичной арифметики в АЛУ исключает при решении задач необходимость программированного перевода чисел из одной системы счисления в другую.

Поскольку две двоично-десятичные цифры составляют $1$ байт, с помощью которого можно представить значения чисел от $0$ до $99$, а не от $0$ до $255$, как при использовании $8$-разрядного двоичного числа, то используя $1$ байт для преставления каждых двух десятичных цифр, можно формировать двоично-десятичные числа с любым требуемым числом десятичных разрядов.