Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Перевод целых чисел из десятичной системы счисления в систему




счисления с основанием q

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

Пример 5.8. Дано десятичное число N10 = 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. Дано десятичное число N10 = 141. Выполнить перевод этого числа в восьмеричную систему счисления (в скобках указан остаток от деления):

1) 141 : 8 = 17 (5), 17 > 8;

2) 17 : 8 = 2 (1), 2 < 8 – конец перевода.

Запишем искомое число: 14110 = 2158.

Пример 5.10. Дано десятичное число N10 = 541. Выполнить перевод этого числа в шестнадцатеричную систему счисления (в скобках указан остаток от деления):

 

1) 541 : 16 = 33 (13), 33 > 16;

2) 33 : 16 = 2 (1), 2 < 16 – конец перевода.

 

Запишем искомое число: 54110 = 21d16.

5. 2.5. Перевод дробных чисел из десятичной системы счисления в систему счисления с произвольным основанием

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

1. Дробная часть очередного произведения равна нулю. В этом случае перевод исходного десятичного числа в систему счисления с основанием q точный.

2. Дробная часть очередного произведения оказывается равной одной из дробных частей произведений, найденных ранее. В этом случае искомое число представляет собой периодическую дробь в системе счисления с основанием q.

3. Задана точность перевода, определяемая количеством разрядов в дробной части искомого числа. В этом случае считается, что все разряды дробной части искомого числа определены, когда количество найденных произведений равно точности перевода.

Запишем дробную часть искомого числа. Цифре разряда с номером –1 соответствует целая часть первого произведения. Цифре разряда с номером –2 соответствует целая часть второго произведения, и т. д.

Пример 5.11. Дано десятичное число N10 = 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. Дано десятичное число N10 = 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. Найти относительную ошибку перевода числа N10 = 10.6 с точностью до четырех знаков. Учитывая решение примера 2.12, получим результат перевода:

N10= 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.

Вычислим относительную ошибку:







Дата добавления: 2014-11-12; просмотров: 1166. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2020 год . (0.003 сек.) русская версия | украинская версия