Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПТЦА-1-2004(Комп.логика).doc
Скачиваний:
271
Добавлен:
07.02.2016
Размер:
7.96 Mб
Скачать

4.1.3 Метод перевода чисел делением на основание в положительной степени

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

Например. Перевести в бинарную систему счисления десятичное число 523.

Решение. Выбираем, ближайшее к заданному, число 29 = 512 и делим:

523 :512=1(11). Получили два остатка. Старший – 1, младший –11. Каждый из остатков расписываем в девяти бинарных разрядах: 000000001 000001011. Затем соединяем записи (старшие нули можно не записывать) и получаем число 1000001011. Проверим методом подстановки вместо единиц их весовых значений и подсчета общей их суммы. 20 + 21 + 23 + 29 = 1 + 2 + 8 + 512 = 523.

4.2 Перевод правильных дробей умножением на основание системы

Дробную часть числа можно записать в новой системе:

4.2.1

это выражение можно переписать по схеме Горнера:

если правую часть умножать последовательно на q2, то будем находить новую неправильную дробь, в целой части которой будут коэффициенты b-1, b-2,...,b-k, при этом все действия должны выполнятся по правилам q1 - арифметики, следовательно, в целой части получающихся дробей будут появляться эквиваленты чисел новой системы счисления, записанные в исходной системе счисления.

Пример. Перевести десятичную дробь 0,625 в двоичную.

. Проверить можно по формуле 4.2.1.

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

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

-при появлении в дробной части по всем разрядам нулей;

-если будет достигнута заданная точность дроби (т.е. необходимое число разрядов).

4.3 Перевод неправильных дробей

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

Например: 98,625 = 1100010,1010.

4.4 Перевод чисел из 16-и и 8-ричных систем в двоичную и обратно

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

Например. Перевести десятичное число 121 в двоичное.

Для сравнения, покажем перевод через основания 8 и 2.

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

Например: 171(8) в двоичное N = 001 111 001=1 111 001

Например: 753,335(8) в двоичное 111 101 011,011 011 101.

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

Пример: 111111010,1100001001(2) перевести в 16 и 8-ричную системы.

  1. 0001 1111 1010, 1100 0010 0100(2) =1FA,C24.

1 F А , С 2 4(16)

Ответ: 1FA,C24(16)

  1. 111 111 010, 110 000 100 100(2) =772,6044

7 7 2 , 6 0 4 4 (8)

Ответ: 772,6044(8)

Обобщая, делаем заключение. В качестве промежуточных систем счисления, при переводе чисел, целесообразно использовать системы с основанием q=2k, k=1,2,3,…Это упрощает преобразование их в двоичную систему и наоборот.