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




Лекция 3. Перевод чисел из одной позиционной системы счисления в другую позиционную систему счисления.

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

Для перевода чисел из системы счисления с основанием q в десятичную систему счисления необходимо число представить в многочленной форме, которая представляет собой сумму m + n + 1 слагаемых. Каждое слагаемое ставится в соответствие разряду исходного числа и представляет собой произведение двух сомножителей. Первый сомножитель - десятичное число, соответствующее по весу цифре разряда исходного числа. Второй сомножитель - это степень, основанием которого является основание системы счисления, а показателем степени - номер разряда.

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

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

Этот процесс завершается в трёх случаях:

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

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

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

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

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

Упражнения и задачи

1. Выполнить перевод числа 1011012 из двоичной системы счисления в десятичную систему счисления:

2. Выполнить перевод числа 23128 из восьмеричной системы счисления в десятичную систему счисления.

3. Выполнить перевод числа 1dc16 из шестнадцатеричной системы счисления в десятичную систему счисления.

4. Выполнить перевод числа 89110 из десятичной системы счисления в двоичную систему счисления:

5. Выполнить перевод числа 891 из десятичной системы счисления в восьмеричную систему счисления:

6. Выполнить перевод числа 89110 из десятичной системы счисления в шестнадцатеричную систему счисления:

7. Перевести из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления и обратно из полученных представлений в десятичную систему счисления. Перевод производить с точностью: для шестнадцатеричной системы счисления до 2-х знаков, для восьмеричной системы счисления – до 3 знаков, для десятичной системы счисления – до 5 знаков. Сравнить результаты, полученные после перевода в десятичную систему счисления с исходным числом. Определить относительную ошибку перевода.

Решение задачи №1:

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

5 4 3 2 1 0

1011012 = 1´25 + 0´24 + 1´23 +1´22 + 0´21 +1´20 =

= 32 + 0 + 8 + 4 + 0 + 1 = 4510.

Проверим результат перевода:

1.) 45:2 = 22 (1);

2.) 22:2 = 11 (0);

3.) 11:2 = 5 (1);

4.) 5:2 = 2 (1);

5.) 2:2 = 1 (0).

Запишем число в двоичной системе счисления: 4510 = 1011012. Проверка подтверждает правильность решения.

Ответ: 1011012 = 4510.

Решение задачи № 2

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

3 2 1 0

23128 = 2 ´ 83 +3 ´ 82 +1 ´ 81 +2 ´ 80 = 1024+192+8+2=122610.

Проверим результат перевода:

1.) 1226:8 = 153 (2);

2.) 153:8 = 19 (1);

3.) 19:8 = 2 (3);

 

Запишем число в восьмеричной системе счисления: 122610= 23128. Проверка подтверждает правильность решения.

Ответ: 23128. = 122610.

Решение задачи № 3

Выполнить перевод числа 1dc16 из шестнадцатеричной системы счисления в десятичную систему счисления.

2 1 0

1dc16 = 1 ´ 162 + 13 ´ 161 +12 ´ 160 = 256+208+12 = 47610.

Проверим результат перевода:

1.) 476:16 = 29 (12);

2.) 29:16 = 1 (13).

 

Запишем число в шестнадцатеричной системе счисления: 47610= 1dc16. Проверка подтверждает правильность решения.

Ответ: 1dc16 = 47610.

Решение задачи № 4

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

1) 891:2 = 445 (1), 445 >= 2;

2) 445:2 = 111 (0), 111 >= 2;

3) 111:2 = 55 (1), 55 >= 2;

4) 55:2 = 27 (1), 27 >= 2;

5) 27:2 = 13 (1), 13 >= 2;

6) 13:2 = 6 (1), 6 >= 2;

7) 6:2 = 3 (0), 3 >= 2;

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

Запишем результат перевода: 98110 = 11011110112.

Проверим результат перевода:

9 8 7 6 5 4 3 2 1 0

11011110112 =1´29+1´28+0´27 +1´26 +1´25+1´24+1´23+0´22+1´21+1´20 =

= 512 + 256 + 0 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = 98110..

Проверка подтверждает правильность решения.

Ответ: 89110 = 11011110112.

 

Решение задачи № 5

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

1) 891:8 = 111 (3), 111 >= 8;

2) 111:8 = 13 (7), 13 >= 8;

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

Запишем результат перевода: 89110 = 51738

Проверим результат перевода:

3 2 1 0

15738 = 1 ´ 83 + 5 ´ 82 + 7 ´ 81 + 3 ´ 80 = 512 +320 + 56 + 3 = 89110.

Проверка подтверждает правильность решения.

Ответ: 89110 = 15738.

Решение задачи № 6

Выполнить перевод числа 89110 из десятичной системы счисления в шестнадцатеричную систему счисления:

1) 891:16 = 55 (11), 55 >= 16;

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

Запишем результат перевода: 89110 = 37b16

Проверим результат перевода:

2 1 0

37b16 = 3 ´ 162 + 7 ´ 161 +11 ´ 160 = 768 + 112 + 11 = 89110.

Проверка подтверждает правильность решения.

Ответ: 89110 = 37b16.

Решение задачи № 7

Перевести из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления и обратно из полученных представлений в десятичную систему счисления. Перевод производить с точностью: для шестнадцатеричной системы счисления до 2-х знаков, для восьмеричной системы счисления – до 3 знаков, для десятичной системы счисления – до 5 знаков. Сравнить результаты, полученные после перевода в десятичную систему счисления с исходным числом. Определить относительную ошибку перевода.

1. Выполнить перевод числа 17.97 из десятичной системы счисления в двоичную систему счисления.

1.1. Переводим целую часть числа:

1) 17: 2 = 8 (1), 8 >= 2;

2) 8: 2 = 4 (0), 4 >= 2;

3) 4: 2 = 2 (0), 2 >= 2;

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

Итак, 1710 = 100012

1.2. Переводим дробную часть числа:

1) 0.97 ´ 2 = 1.94 (1);

2) 0.94 ´ 2 = 1.88 (1);

3) 0.88 ´ 2 = 1.76 (1);

4) 0.76 ´ 2 = 1.52 (1);

5) 0.52 ´ 2 = 1.04 (1).

Итак, 0.9710 = 0.111112

Таким образом, 17.9710 = 10001.111112

2. Выполним перевод числа 17.97 из десятичной системы счисления в восьмеричную систему счисления.

2.1. Переводим целую часть числа:

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

Итак, 1710 = 218

2.2. Переводим дробную часть числа:

1) 0.97 ´ 8 = 7.76 (7);

2) 0.76 ´ 8 = 6.08 (6);

3) 0.08 ´ 8 = 0.64 (0);

Итак, 0.9710 = 0.7608

Таким образом, 17.9710 = 21.7608

3. Выполним перевод числа 17.97 из десятичной системы счисления в шестнадцатеричную систему счисления.

3.1. Переводим целую часть числа:

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

Итак, 1710 = 1116

3.2. Переводим целую часть числа:

1) 0.97 ´ 16 = 15.52 (15);

2) 0.52 ´ 16 = 8.32 (8);

Итак, 0.9710 = f816

Таким образом, 17.9710 = 11.f816

4. Выполним перевод числа 1001.11111 из двоичной системы счисления в десятичную систему счисления:

4 32 1 0 -1-2-3 –4 -5

10001.11111 2 = 1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 +1 * 20 +1 * 2-1 +1 * 2-2 + 1 *2-3 + 1 * 2-4 + 1 * 2-5 = 16+0+0+0+1+0.5+0.25+0.125+0.0625+0.03125 = 17.9687510.

Запишем искомое число: 10001.111112 = 17.9687510,

Имеем: 17,97 ≠ 17,96875

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

6. Выполним перевод числа 21.760 из восьмеричной системы счисления в десятичную систему счисления.

1 0 -1-2-3

21.7608 = 2 ´ 81 + 1´ 80 + 6 ´ 8-2 + 0.8-3 = 16 + 1 + 0.875 + 0.09375 + 0 = 17.9687510.

Запишем искомое число: 21.7608 = 17.9687510

Имеем: 17.97 ≠ 17.96875

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

8. Выполним перевод числа 11.f8 из шестнадцатеричной системы счисления в десятичную систему счисления:

1 0 -1-2

11.f816 = 1 ´ 161 + 1 ´ 160 + 15 ´ 16 –1 + 8 ´16-2 = 16 + 1 + 0.9375 + 0.03125 = 17.9687510

Запишем искомое число: 11.f851e16 = 17.9687510

Имеем: 17.97 ≠ 17.96875

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

Перевод чисел из двоичной системы счисления в систему счисления с основанием 2n и обратно

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

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

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

Упражнения и задачи

  1. Выполнить перевод числа 1011012 из двоичной системы счисления в восьмеричную систему счисления:
  2. Выполнить перевод числа 1011012 из двоичной системы счисления в шестнадцатеричную систему счисления:
  3. Выполнить перевод числа 23128 из восьмеричной системы счисления в двоичную систему счисления:
  4. Выполнить перевод числа 1dc16 из шестнадцатеричной системы счисления в двоичную систему счисления:

Решение задачи №1

Разобьем исходную запись числа на триады двоичных разрядов:

101101 à 101 101.

Поставим в соответствие каждой триаде восьмеричную цифру:

1012 à 58;

1012 à 58.

Запишем число: 1011012 = 558.

Проверим результат перевода:

Поставим в соответствие каждой восьмеричной цифре триаду:

58 à 1012;

58 à 1012;

Запишем число: 558 = 1011012.

Проверка подтверждает правильность решения.

Ответ: 1011012 = 558.

Решение задачи № 2

Разобьем исходную запись числа на тетрады двоичных разрядов:

101101 à 0010 1101

Поставим в соответствие каждой тетраде шестнадцатиричную цифру:

00102 à 216;

11012 à d16

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

Проверим результат перевода:

Поставим в соответствие каждой восьмеричной цифре триаду:

216 à 00102;

d16 à 11012;

Запишем число: 2d16 = 2. 1011012.

Проверка подтверждает правильность решения.

Ответ: 1011012 = 2d16.

Решение задачи № 3

Каждой цифре в записи числа поставим в соответствие триаду двоичных цифр:

28 à 0102;

38 à 0112;

18 à 0012;

28 à 0102.

Запишем искомое число: 23128 = 100110010102.

Проверим результат перевода. Разобьем исходную запись числа на триады двоичных цифр:

100110010102à 010 011 001 0102

Поставим в соответствие каждой триаде восьмеричную цифру:

0102 à 28;

0112 à38;

0012 à 18;

0102 à 28.

Запишем число: 100110010102. = 23128. Проверка подтверждает правильность решения.

Ответ: 23128 =.100110010102..

Решение задачи № 4

Каждой цифре в записи числа поставим в соответствие тетраду двоичных цифр:

116 à 00012;

d16 à 11012;

c16 à 11002.

Запишем искомое число: 1dc16 = 1110111002

Проверим результат перевода. Разобьем исходную запись числа на тетрады двоичных цифр: 1110111002 à 0001 1101 11002

Поставим в соответствие каждой тетраде шестнадцатеричную цифру:

00012 à116;

11012 à d16;

11002 à c16.

Запишем число: 1110111002 = 1dc16

Проверка подтверждает правильность решения.

Ответ:. 1dc16 = 1110111002

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-04-15 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: