Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная3.doc
Скачиваний:
0
Добавлен:
20.11.2019
Размер:
333.82 Кб
Скачать

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

Основание в двоичной системе счисления p = 2. В этой системе счисления используется две цифры: 0 и 1. Для того чтобы не спутать систему счисления в записи числа используется индекс 2. Если же кроме двоичной формы записи чисел не предполагается использования никакой другой, то этот индекс можно опустить.

Число в этой системе счисления записывается как сумма единиц, двоек, четвёрок, восьмёрок и так далее. То есть веса соседних разрядов различаются в два раза.

Пример записи двоичного числа в соответствии с (1):

A2=100101,01=1⋅25+0⋅24+0⋅23+1⋅22+0⋅21+1⋅20+0⋅2-1+1⋅2-2=37,25.

Десятичный эквивалент двоичного числа 1000101 равен 37:

100101,012 = 37,2510 .

2.3 Восьмеричная система счисления

Основание в восьмеричной системе счисления p = 8. В этой системе счисления используется восемь цифр: 0,1,2,3,4,5,6,7. Для того чтобы не спутать систему счисления в записи числа используется индекс 8. Если же кроме восьмеричной формы записи чисел не предполагается использования никакой другой, то этот индекс можно опустить.

Число в этой системе счисления записывается как сумма единиц, восьмерок и так далее. То есть веса соседних разрядов различаются в восемь раз.

Пример записи восьмеричного числа в соответствии с (1):

A8=1437,5=1⋅83+4⋅82+3⋅81+7⋅80+5⋅8-1=799,625.

Десятичный эквивалент восьмеричного числа 1437,5 равен 799,625:

1437,58 = 799,62510 .

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

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

Перевод чисел между системами счисления, основания которых являются степенями числа 2, может производиться по упрощенным алгоритмам.

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

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

Переведем таким способом двоичное число 1010112 в восьмеричное:

101    0112 => 1  22 + 0  21 + 1  20         0  22 + 1  21 + 1  20 => 538.

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

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

Например, преобразуем дробное двоичное число 0,1101012 в восьмеричную систему счисления:

0,1101012 => 1102 1012 => 68 58 => 0,658.

3.3 Схема алгоритма преобразования

Двоичные и восьмеричные числа, используемые в дальнейших вычислениях, задаются как обычные десятичные, но с ограничением на используемые цифры. Для двоичной системы счисления это цифры 0 и 1, для восьмеричной – от 0 до 7. Поскольку такие числа для вычислительной системы ничем не отличаются от обычных десятичных, то для работы с ними используется десятичная арифметика. Например для сдвига числа 2158 влево на 1 разряд необходимо домножить это число на 810 или 108 в восьмеричной системе счисления.

2158*108=21508.

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

Схема алгоритма преобразования представлена на рисунке 1.

Блок 1 соответствует начальным установкам. Переменной P присваивается значение преобразуемого двоичного числа D. В дальнейшем в переменной P будет храниться еще не преобразованная в восьмеричную систему счисления часть начального числа. Введена дополнительная переменная i для отсчета разрядов результирующего числа.

Блок 2 соответствует присвоению переменной ai значения первого(старшего) разряда двоичной триады, расположенной справа от разделителя целой и дробной части двоичного числа P.

Блок 3 соответствует прибавлению к переменной ai значения второго разряда двоичной триады.

Блок 4 соответствует прибавлению к переменной ai значения третьего разряда двоичной триады.

Блок 5 соответствует увеличению счетчика результирующих разрядов на 1.

Блок 6 соответствует исключению из числа P преобразованной двоичной триады и сдвигу оставшейся дробной части числа на ее место.

Блок 7 повторяет цикл преобразования очередной триады, если в не преобразованной части исходного числа, хранящейся в переменной P, еще остались значащие разряды.

Рисунок 1 – Схема алгоритма преобразования