Перевод целых чисел из десятичной системы счисления в систему
счисления с основанием q Для перевода целых чисел из десятичной системы счисления в систему счисления с основанием q исходное число необходимо разделить на основание системы счисления q. При этом будет получено частное (целое число) и остаток от деления (целое число). На следующем шаге алгоритма необходимо полученное частное разделить на основание системы счисления. Будет получено очередное частное и остаток. Деление проводится до тех пор, пока очередное частное не окажется строго меньше основания системы счисления q. Запишем искомое число. Цифре старшего разряда будет соответствовать частное последнего деления. Цифре следующего разряда - остаток последнего деления. Цифре следующего разряда - остаток предпоследнего деления и т.д., цифре младшего разряда будет соответствовать остаток первого деления. Пример 5.8. Дано десятичное число N 10 = 41. Выполнить перевод числа в двоичную систему счисления (в скобках указан остаток от деления):
1) 41: 2 = 20 (1), 20 > 2; 2) 20: 2 = 10 (0), 10 > 2; 3) 10: 2 = 5 (0), 5 > 2; 4) 5: 2 = 2 (1), 2 > 2; 5) 2: 2 = 1 (0), 1 < 2 – конец перевода. Запишем искомое число: 4110 = 1010012. Пример 5.9. Дано десятичное число N 10 = 141. Выполнить перевод этого числа в восьмеричную систему счисления (в скобках указан остаток от деления): 1) 141: 8 = 17 (5), 17 > 8; 2) 17: 8 = 2 (1), 2 < 8 – конец перевода. Запишем искомое число: 14110 = 2158. Пример 5.10. Дано десятичное число N 10= 541. Выполнить перевод этого числа в шестнадцатеричную систему счисления (в скобках указан остаток от деления):
1) 541: 16 = 33 (13), 33 > 16; 2) 33: 16 = 2 (1), 2 < 16 – конец перевода.
Запишем искомое число: 54110 = 21 d 16. 5. 2.5. Перевод дробных чисел из десятичной системы счисления в систему счисления с произвольным основанием Для перевода дробных чисел из десятичной системы счисления в систему счисления с основанием q необходимо отдельно перевести целую (см. 5.2.4.) и дробную части числа. Для перевода дробной части ее необходимо умножить на основание системы счисления q. При этом будет получено произведение, содержащее целую и дробную части. На следующем шаге дробную часть произведения необходимо умножить на основание системы счисления q. При этом будет получено очередное произведение, содержащее целую и дробную части. При выполнении следующих шагов дробные части произведений умножаются на основание системы счисления q. Этот процесс завершается в трех случаях: 1. Дробная часть очередного произведения равна нулю. В этом случае перевод исходного десятичного числа в систему счисления с основанием q точный. 2. Дробная часть очередного произведения оказывается равной одной из дробных частей произведений, найденных ранее. В этом случае искомое число представляет собой периодическую дробь в системе счисления с основанием q. 3. Задана точность перевода, определяемая количеством разрядов в дробной части искомого числа. В этом случае считается, что все разряды дробной части искомого числа определены, когда количество найденных произведений равно точности перевода. Запишем дробную часть искомого числа. Цифре разряда с номером –1 соответствует целая часть первого произведения. Цифре разряда с номером –2 соответствует целая часть второго произведения, и т. д. Пример 5.11. Дано десятичное число N 10= 0.625. Выполнить перевод числа в двоичную систему счисления (в скобках указана целая часть произведения): 1) 0.625 ´ 2 = 1.250 (1); 2) 0.250 ´ 2 = 0.500 (0); 3) 0.500 ´ 2 = 1.000 (1). Дробная часть последнего произведения равна нулю. Перевод в систему счисления исходного числа точный. Запишем результат перевода: 0.62510 = 0.1012. Пример 5.12. Дано десятичное число N 10 = 0.6. Выполнить перевод числа в двоичную систему счисления: 1) 0.6 ´ 2 = 1.2 (1); 2) 0.2 ´ 2 = 0.4 (0); 3) 0.4 ´ 2 = 0.8 (0); 4) 0.8 ´ 2 = 1.6 (1); 5) 0.6 ´ 2 = 1.2 (1). Дробная часть последнего произведения равна дробной части произведения, полученного на первом шаге. Искомая дробь является периодической с периодом 1001. Запишем результат перевода: 0.610 = 0.(1001)2 (в скобках указан период). Как видно из правила перевода дробные числа из десятичной системы счисления в систему счисления с основанием q не всегда переводятся точно (случай № 3). Возможно уменьшение первоначального значения числа (возникает потеря точности). Пример 5.13. Найти относительную ошибку перевода числа N 10 = 10.6 с точностью до четырех знаков. Учитывая решение примера 2.12, получим результат перевода: N 10 = 10.610 = 1010.(1010)2» 1010.10102. Выполним перевод числа 1010.10102 в десятичную систему счисления и убедимся в потере точности: 1010.10102 = 1 ´ 23 + 0 ´ 22 + 1 ´ 21 + 0 ´ 20 + 1 ´ 2-1 + 0 ´ 2-2 + 1 ´ 2-3 + + 0 ´ 24 = 1 + 0 + 1 + 0 + 0.5 + 0.25 + 0.125 + 0.0625 = 10.562510. В результате получим: N* 10 = 10.5625. Вычислим относительную ошибку:
|