Перевод целых чисел

Пусть целое число N задано в система счисления с основанием Р и требуется его перевести в систему с основанием Q.
Запись N в Q – ичной системе имеет вид
N = bs *Qs+ bs-1*Qs-1+... + b0*Q0
Для определения b0 разделим обе части на Q, причем в левой части деление выполняется по правилам Р – ичной арифметики, получим
N/Q = bsQs-1 + bs-1Qs-2 +... + b1 +b0 /Q
Левую часть можно представить как сумму целой и дробной части
N/Q = [N/Q]+ {N/Q}
Приравнивая целые и дробные части получим
[N/Q] = bsQs-1 + bs-1Qs-2 +... + b1
{N/Q} = b0/Q Þ b0 = Q{b0/Q}
Указанные действия на самом деле не выполняются, так как b0 является просто остатком от деления N на Q.
Далее положим
N1 = [N/Q] = bsQs-1 + bs-1Qs-2 +... + b1
N1 будет целым числом и можно применить ту же самую процедуру для определения b1.
Таким образом, при условии что N0 = N, перевод чисел с использованием Р – ичной арифметики осуществляется по следующим рекуррентным формулам:

bi = Q{Ni/Q} – остаток от деления Ni на Q;
Ni+1 = [Ni/Q] – целая часть от деления Ni на Q, i = 0, 1, 2, …
Процесс продолжается до тех пор, пока не будет получено Ni+1 = 0.

Пример 3.
Перевести число N = 4710 в двоичную систему с использованием десятичной арифметики.
Решение.
При делении выделяют целую часть результата и остаток. Остаток записываю в скобках рядом с целой частью.
Применим рекуррентные формулы при Q = 2
47: 2 = 23(1); 23: 2 = 11(1); 11: 2 = 5(1); 5: 2 = 2(1); 2: 2 = 1(0); 1: 2 = 0(1)
Ответ: 4710 = 1011112.

Пример 4.
Перевести число N = 3060 в 16 - ичную систему с использованием десятичной арифметики.
Решение.
3060: 16 = 191(4); 191: 16 =11(15); 11: 16 = 0 (11).
Ответ.
306010 = bf416

Перевод дробных чисел.
Пусть X – правильная дробь, которую нужно перевести в Q – ичную систему.
Так как X < 1, то число X в Q – ичной системе можно представить в виде
X = b-1Q-1 + b-2Q-2 +... + b-m Q-m +...,
где bi – искомые коэффициенты Q – ичного разложения числа X.
Для определения bi умножим левую и правую часть на число Q пользуясь правилами
Р – ичной арифметики, тогда
XQ = b-1 + b-2Q-1 +... + b-m Q-m+1 +...
Приравнивая полученные целые и дробные части получим
[xQ] = b-1
{XQ} = b-2Q-1 +... + b-m Q-m+1 +...
Таким образом коэффициент b-1 в разложении определяется соотношением
[xQ] = b-1
Положим
X1 = b-2Q-1 +... + b-m Q-m+1 +...
Тогда X1 будет правильной дробью и для определения b-2 можно применить туже самую процедуру.

Если принять, что X0 = X, то перевод дроби с использованием Р – ичной арифметики осуществляется по следующим рекуррентным соотношениям:
b-(i+1) = [XiQ],
Xi+1 = {XiQ}, i = 0, 1, 2, …
Процесс продолжается до тех пор, пока небудет получено Xi+1 = 0 или не будет достигнута требуемая точность изображения числа. Точность определяется количеством цифр учитываемых после запятой.

Пример 5.
Перевести число Х = (0,2)10 в двоичную систему с использованием 10 –й арифметики.
Решение.
Применим формулы
0,2 ´ 2 = 0,4 = 0 + 0,4 Þ b-1 = 0;
0,4 ´ 2 = 0,8 = 0 + 0,8 Þ b-2 = 0
0,8 ´ 2 = 1,6 = 1 + 0,6 Þ b-3 = 1
0,6 ´ 2 = 1,2 = 1 + 0,2 Þ b-4 = 1 и т.д.
Ответ 0,210 = 0,(0011)2

Перевод в случае Р = Ql.

Утверждение.
В случае если P = Ql,
где l – целое положительное число, запись какого либо числа в смешанной (Q – P) – ичной системе счисления, тождественно совпадает с записью этого числа в системе с основанием Q.
Так как
,
то запись 8 – ричного числа в смешанной системе (2 – 8) -й, будет совпадать с записью его в 2 – ичной системе, и запись 16 – ричного числа в смешанной системе (2 – 16) - й, будет совпадать с записью его в 2 – ичной системе.
Используя это утверждение можно легко выполнить перевод из системы с основанием Р в систему с основанием Q и обратно.

Пример 6.
Перевести число 46,58 в двоичную систему.
Решение.
Запишем число в смешанной системе (2 – 8). Для записи каждой восьмеричной цифры будем использовать три двоичных разряда (триаду), в результате получим.
46,5 = 100 110, 101 – это есть запись числа в двоичной системе.

Пример 7.
Перевести число 101110,10 2 в 16 – ричную систему.
Решение.
Разбиваем число на тетрады вправо и влево от запятой.
0010 1110,1000.
Каждой двоичной тетраде ставим в соответствие 16 – ричную цифру.
0010 – 2, 1110 – e, 1000 – 8.
Ответ 101110,10 2 = 2e,8 16

Проверьте себя, как вы усвоили эту тему?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: