Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БЕКИН_Д_ЖЕНАТОВ.doc
Скачиваний:
35
Добавлен:
24.08.2019
Размер:
4.5 Mб
Скачать

2.2. Двоичная система счисления

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

История развития двоичной системы счисления – одна из ярких страниц в истории арифметики. Официальное «рождение» двоичной арифметики связывают с именем Г.В.Лейбница, опубликовавшего статью, в которой были рассмотрены правила выполнения всех арифметических операций над двоичными числами. До начала тридцатых годов XX века двоичная система счисления оставалась вне поля зрения прикладной математики. Потребность в создании надежных и простых по конструкции счетных механических устройств и простота выполнения действий над двоичными числами привели к более глубокому и активному изучению особенностей двоичной системы как системы, пригодной для аппаратной реализации. Первые двоичные механические вычислительные машины были построены во Франции и Германии. Утверждение двоичной арифметики в качестве общепринятой основы при конструировании ЭВМ с программным управлением состоялось под несомненным влиянием работы А. Бекса, Х. Гольдстайна и Дж. Фон Неймана о проекте первой ЭВМ с хранимой в памяти программой, написанной в 1946 году. В этой работе наиболее аргументировано, обоснованы причины отказа от десятичной арифметики и перехода к двоичной системе счисления как основе машинной арифметики.

Совместное использование в вычислительной технике двоичной, восьмеричной и шестнадцатеричной и других систем обусловлено двумя причинами:

– в восьмеричной и шестнадцатеричной системах любое число записывается более компактно, нежели двоичное;

– простотой преобразования из двоичной в восьмеричную (шестнадцатеричную) систему счисления и наоборот.

В дальнейшем для обозначения используемой системы счисления будем заключать число в скобки и в индексе указывать основание системы счисления.

Для двоичной системы счисления можно записать:

, (2.5.)

где либо 0, либо 1.

Таким образом, вес каждого разряда в двоичной системе счисления кратен 2 или 0,5.

Для того чтобы преобразовать десятичное число в двоичное, его нужно разложить по степеням двойки. Но если разложение по степеням десятки получается сразу, то, как разложить по степеням двойки надо немного подумать. Для начала рассмотрим, как это сделать методом подбора. Возьмём десятичное число 12.

Шаг первый. 22 = 4, этого мало. Также мало и 23 = 8, а 24=16 это уже много. Поэтому оставим 23 =8. 12 - 8 = 4. Теперь нужно представить в виде степени двойки 4.

Шаг второй. 4 = 22.

Тогда число 12 = 23 + 22. Старшая цифра имеет номер 4, старшая степень = 3, следовательно, должны быть слагаемые со степенями двойки 1 и 0. Но они нам не нужны, поэтому чтобы избавится от ненужных степеней, и оставить нужные запишем число так: 1*23 + 1*22 +0*21 + 0*20 = 1100 - это и есть двоичное представление числа 12. Нетрудно заметить, что каждая очередная степень - это наибольшая степень двойки, которая меньше разлагаемого числа.

Пример 2.2. Представить в двоичной системе счисления число .

Шаг 1. Ближайшая степень двойки 24 = 16. 23 -16= 7.

Шаг 2. Ближайшая степень двойки 22 = 4. 7 - 4 = 3.

Шаг 3. Ближайшая степень двойки 21 = 2. 3 - 2 = 1.

Шаг 4. Ближайшая степень двойки 20=1 1 - 1 =0.

Получаем следующее разложение: 1*24 + 0*23 +1*22 +1*21 +1*20

Искомое двоичное число 10111.

Рассмотренный выше метод хорошо решает поставленную перед ним задачу, но есть способ, который алгоритмизируется значительно лучше. Алгоритм этого метода записан ниже:

Пока ЧИСЛО больше нуля делать

Начало

ОЧЕРЕДНАЯ ЦИФРА = остаток от деления ЧИСЛА на 2

ЧИСЛО = целая часть от деления ЧИСЛА на 2

Конец

Когда этот алгоритм завершит свою работу, последовательность вычисленных ОЧЕРЕДНЫХ ЦИФР и будет представлять двоичное число.

Пример. Представить в двоичной форме.

Начало алгоритма ЧИСЛО = 19

Шаг 1 ОЧЕРЕДНАЯ ЦИФРА = 1, ЧИСЛО = 9

Шаг 2 ОЧЕРЕДНАЯ ЦИФРА = 1, ЧИСЛО = 4

Шаг 3 ОЧЕРЕДНАЯ ЦИФРА = 0, ЧИСЛО = 2

Шаг 4 ОЧЕРЕДНАЯ ЦИФРА = 0, ЧИСЛО = 1

Шаг 5 ОЧЕРЕДНАЯ ЦИФРА = 1, ЧИСЛО = 0

Итак, в результате имеем следующее число 10011.

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

Как и в десятичной, в двоичной системе счисления для отделения целой части от дробной используется точка. Значение веса разрядов справа от точки равно основанию двоичной системы, возведенному в отрицательную степень. Такие веса - это дроби вида: 1/2, 1/22, 1/23, 1/24, 1/25 или 1/2, 1/4, 1/8, 1/16. Их можно выразить через десятичные дроби: 2-1 = 0.5, 2-2 = 0.25, 2-3 = 0.125, 2-4 = 0,0625.

Каждая позиция, занятая двоичной цифрой, называется бит. Бит является наименьшей единицей информации в ЭВМ. Наименьшим значащим битом (МЗР) называют самый младший двоичный разряд, а самым старшим двоичным разрядом – наибольший значащий бит (СЗР). В двоичном числе эти биты имеют, соответ­ствен­но, наименьший и наибольший вес. Обычно двоичное число записывают так, что старший значащий бит является крайним слева.

К достоинствам двоичной системы счисления относится:

– простота выполнения арифметических и логических операций, что влечет за собой простоту устройств, реализующих эти операции;

– возможность использования аппарата алгебры логики (булевой алгебры) для анализа и синтеза операционных устройств ЭВМ.

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

Пример 2.3. Перевести целое десятичное число 10(10) в двоичное число.

Если процедуру перевода выполняет человек, то последний шаг получения частного, равного нулю, никогда не делается. Если перевод выполняется ЭВМ, то он необходим. Таким образом, полный вариант преобразования 10(10) будет иметь следующий вид:

Пример 2.4. Десятичное число 57(10) преобразовать в двоичное число.