Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASSEMBLER / MK8051.doc
Скачиваний:
237
Добавлен:
16.04.2015
Размер:
1.8 Mб
Скачать

1.3. Алгоритмы преобразования десятичных чисел в двоичные

1.3.1. Алгоритм (algorithm)–это точное предписание, определяющее вычислительный процесс, ведущий от исходных данных к искомому результату [ 3 ].

В данном учебном пособии рассмотрены три алгоритма преобразования чисел из десятичной системы счисления в двоичную [ 1 ], которые условно названы методом вычитания, методом деления и методом умножения. Метод вычитания может быть использован для перевода в двоичную систему счисления как целых десятичных чисел, так и десятичных дробей. Метод деления применяется для перевода только целых чисел, а метод умножения –для перевода только десятичных дробей. Если исходное число больше единицы и не является целым, то его целая и дробная части преобразуются отдельно.

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

1.3.2. Метод вычитания(рис. 1.1):

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

2) из разности, полученной на предыдущем шаге, вычесть наибольшую степень числа 2, не превосходящую эту разность, и записать 1 в разряд искомого двоичного числа, порядковый номер которого равен показателю степени числа 2;

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

  1. записать нули во все разряды двоичного числа, в которых не записаны единицы.

Рис.1.1. Перевод целого десятичного числа (А) и десятичной дроби (В)

В двоичную систему счисления методом вычитания

1.3.3. Метод деления(рис. 1.2):

1) разделить исходное целое число на 2, остаток от деления записать в младший (нулевой) разряд искомого двоичного числа;

2) частное, полученное на предыдущем шаге, снова разделить на 2, а остаток от деления записать в следующий (слева от предыдущего) разряд двоичного числа;

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

Рис.1.2. Перевод десятичного числа в двоичное методом деления

1.3.4. Метод умножения(рис. 1.3):

1) умножить исходную дробь на 2 и записать целую часть полученного произведения в старший разряд (справа от запятой) искомой двоичной дроби;

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

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

Рис.1.3. Перевод десятичной дроби в двоичную методом умножения

Соседние файлы в папке ASSEMBLER