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


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

Двоично-десятичная система не экономична с точки зрения реализации технического построения машины (примерно на 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 перевести в десятичную систему счисления.

Сложение положительных чисел Сложение многоразрядных чисел осуществляется по правилам двоичной арифметики; особенность проявляется при сложении двух единиц. При S = Ю(10)сумма двух единиц равна двум, что эквивалентно 10(2). Таким образом, вместо одного разряда образуется два. В этом...
(Вычислительная техника)
  • Арифметические действия над числами с плавающей запятой
    Сложение чисел При сложении чисел с плавающей запятой результат определяется как сумма мантисс слагаемых с общим для слагаемых порядком. Если знаки обеих мантисс одинаковы, то они складываются в прямых кодах, если разные - в дополнительном или обратном кодах. В табл. 2.8 приведен порядок действий...
    (Вычислительная техника)
  • Числа в десятичной системе счисления
    10° - единица 109 - миллиард 1024 - септиллион 101 - десять 1012 - триллион 1027 - октиллион 102 - сто 1015 - квадриллион Ю30 - нониллион 103 - тысяча 1018 - квинтиллион 1033 - дециллион 106 - миллион 1021 - ...
    (Физика)
  • Системы счисления
    Человеку издревле приходилось считать различные предметы и записывать их количество. Для этих целей возникла унарная система записи, при которой числа обозначались соответствующим количеством черточек (или засечек). Например, число 5 представлялось как 111 |. Унарная запись очень громоздкая и...
    (Архитектура ЭВМ)
  • Экономичность системы счисления
    Число в системе счисления рек разрядами, очевидно, будет иметь наибольшее значение в том случае, если все цифры числа окажутся максимальными, т. е. равными - 1). Тогда (гр)тах =(/>-1)...(/>-!) = / -1. к цифр Количество разрядов числа при переходе от одной системы счисления...
    (Архитектура ЭВМ)
  • Корректура счисления пути по одной линии положения
    При подходе к побережью обстановка может сложиться так, что судоводитель имеет возможность получить только одну линию положения. Например, открылась вершина горы, на которую можно измерить только пеленг, или прослушиваются сигналы только одного радиомаяка. Такая же обстановка складывается и при определении...
    (Анализ и обработка навигационных измерений)
  • (Методическая разработка)

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

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

    Умножить: 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

    Иногда бывает удобно хранить числа в памяти процессора в десятичном виде (Например, для вывода на экран дисплея). Для записи таких чисел используются двоично-десятичные коды . Не нужно путать двоично-десятичный код с . Для записи одного десятичного разряда используется четыре двоичных бита. Эти четыре бита называются тетрадой. Иногда встречается название, пришедшее из англоязычной литературы: нибл. При помощи четырех бит можно закодировать шестнадцать цифр. Лишние комбинации в двоично-десятичном коде являются запрещенными. Таблица соответствия двоично-десятичного кода и десятичных цифр приведена ниже:

    Двоично-десятичный код Десятичный код
    0 0 0 0 0
    0 0 0 1 1
    0 0 1 0 2
    0 0 1 1 3
    0 1 0 0 4
    0 1 0 1 5
    0 1 1 0 6
    0 1 1 1 7
    1 0 0 0 8
    1 0 0 1 9

    Остальные комбинации двоичного кода в тетраде являются запрещенными. Запишем пример двоично-десятичного кода:

    1258 = 0001 0010 0101 1000

    В первой тетраде записана цифра 1, во второй — 2, в третьей — 5, а в последней тетраде записана цифра 8. В данном примере для записи числа 1258 потребовалось четыре тетрады. Количество ячеек памяти микропроцессора зависит от его разрядности. При 16-разрядном процессоре все число уместится в одну ячейку памяти.

    589 = 0000 0101 1000 1001

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

    При записи десятичных чисел часто требуется записывать знак числа и десятичную запятую (в англоязычных странах точку). Двоично-десятичный код часто применяется для набора телефонного номера или набора кодов телефонных служб. В этом случае кроме десятичных цифр часто применяются символы "*" или "#". Для записи этих символов в двоично-десятичном коде применяются запрещенные комбинации

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

    1258 =00000001 00000010 00000101 00001000

    В первой строке записана цифра 1, во второй - 2, в третьей - 5, а в последней строке записана цифра 8. В данном примере для записи числа 1258 потребовалось четыре строки (ячейки памяти)

    589 = 00000000 00000101 00001000 00001001

    Суммирование двоично-десятичных чисел.

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

    В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)

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

    В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.

    Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.

    Попробуем считать в двоичной системе:
    0 – это ноль
    1 – это один (и это предел разряда)
    10 – это два
    11 – это три (и это снова предел)
    100 – это четыре
    101 – пять
    110 – шесть
    111 – семь и т.д.

    Перевод чисел из двоичной системы счисления в десятичную

    Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.

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

    1476 = 1000 + 400 + 70 + 6

    1476 = 1 * 10 3 + 4 * 10 2 + 7 * 10 1 + 6 * 10 0

    Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 - это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.

    Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:

    10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0

    1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137

    Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:

    10001001 2 = 137 10

    Почему двоичная система счисления так распространена?

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

    Перевод десятичного числа в двоичное

    Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:

    77 / 2 = 38 (1 остаток)
    38 / 2 = 19 (0 остаток)
    19 / 2 = 9 (1 остаток)
    9 / 2 = 4 (1 остаток)
    4 / 2 = 2 (0 остаток)
    2 / 2 = 1 (0 остаток)
    1 / 2 = 0 (1 остаток)

    Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:

    1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77