Перевод
числа, содержащего целую и дробную части,
из одной системы счисления в другую
Перевод
числа, содержащего правильную дробь, из
десятичной системы счисления в позиционную систему
счисления с основанием X можно выполнить следующим образом.
Отдельно переводится целая часть (последовательным делением на число
X и записью последнего частного от деления и остатков в обратном порядке),
отдельно переводится дробная часть (последовательным умножением на число
X и записью полученных целых частей). Затем формируется число из двух
полученных частей.
Например, при переводе числа 5,375 из десятичной
системы счисления в позиционную систему счисления с основанием 2 (X
= 2) можно вначале перевести число 5:
5 : 2 = 2 (остаток 1), так как 2 не меньше 2, то
2 : 2 = 1 (остаток 0), так как частное 1 меньше 2, то записываем число
в обратном порядке 1012.
Затем переводится дробная часть:
0,375 · 2 = 0,75 (запоминают целую часть, равную 0), так как
дробная часть не равна 0, то дробная часть полученного числа вновь умножается
на 2,
0,75 · 2 = 1,5 (запоминают целую часть, равную 1), так как дробная
часть не равна 0, то
0,5 · 2 = 1,0 (запоминают целую часть, равную 1), так как дробная
часть равна 0, то, записав полученные целые части (после запятой), получают
0,0112.
Таким образом, 5,375=101, 0112.
Перевод числа
(an an-1 … a2
a1 a0, a-1
… a-2 ...a-m
)X,
содержащего
правильную дробь, из позиционной системы счисления с основанием X в
десятичную систему счисления можно выполнить, представив
число в виде ряда:
(an an-1 … a2
a1 a0, a-1
… a-2 ...a-m
)X = an Xn
+ an-1 Xn-1
+ … + a2 X2
+ a1 X1 + a0
X0 , a-1X-1+
a-2 X-2+… +a-m
X-m,
для
которого надо выполнить операции возведения в степень, умножения и сложения.
Например,
1100,010112 = 1 · 23
+ 1 · 22 + 0 · 21
+ 0 · 20 + 0 · 2-1
+ 1 · 2-2 + 0 · 2-3
+ 1 · 2-4 + 1 · 2-5
= 1 · 8 + 1 · 4 + 0 · 2 + 0 · 1 + 1/4 +
1/16 + 1/32 = 8 + 4 + 0 + 0 + 0 + 0,25 + 0 + 0,0625 + 0,03125 = 12,34375;
FA,8C16 = F · 161
+ A · 160 + 8 · 16-1
+ C · 16-2 =
= 15 · 161 + 10 · 160+
8 · 16-1 + 12 · 16-2
=
= 240 + 10 + 8/16 + 12/256 = 250,546875.