Перевод натуральных чисел из одной системы счисления в другую
Перевод числа из десятичной системы счисления в позиционную систему счисления с основанием X можно выполнить следующим образом:
1) число, представленное в десятичной системе счисления, делится на X, при этом полученный остаток (натуральное число меньшее X) запоминается;
2) полученное от деления число вновь делится на X, полученный остаток также запоминается;
3) деление (и запоминание остатков) продолжается до тех пор, пока не будет получено число меньшее X;
После этого формируется число в позиционной системе счисления с основанием X: полученное последнее число и остатки записывают в обратном порядке, то есть справа записывают первый остаток, левее следующий остаток и так далее, в конце (слева) записывают последнее полученное число меньшее X.
Например, перевод числа 12 из десятичной системы счисления в позиционную систему счисления с основанием 2 (X=2) можно выполнить так:
12:2=6 (остаток 0), так как 6 не меньше 2, то
6:2=3 (остаток 0), так как 3 не меньше 2, то
3:2=1 (остаток 1), так как частное 1 меньше 2, то записываем число в обратном порядке 11002. То есть 12=11002.
Например, перевод числа 250 из десятичной системы счисления в восьмеричную систему счисления (X=8) можно выполнить аналогичным образом:
250:8=31 (остаток 2), так как 31 не меньше 8, то
31:8=3 (остаток 7), так как частное 3 меньше 8, то записываем число в обратном порядке 3728. То есть 250=3728.
Например, перевод числа 250 из десятичной системы счисления в шестнадцатеричную систему счисления (X=16) можно выполнить аналогично:
250:16=15 (остаток 10), так как частное 15 меньше 16, то записываем число (учитывая, что 15=F, 10=A) в обратном порядке FA16. То есть 250=FA16.
Попробуйте самостоятельно перевести число 250 в систему счисления с основанием 6 и сравните с ответом (ответ: 250=6546).
Перевод числа из позиционной системы счисления с основанием X в десятичнуюсистему счисления можно выполнить, представив число в виде записанного ранее ряда: an Xn + an-1 Xn-1 +…+a2 X2 +a1 X1 +a0 X0 , для которого надо выполнить операции возведения в степень, умножения и сложения. Например,
11002=1*23+1*22+0*21+0*20 =1*8+1*4+0*2+0*1=8+4+0+0=12,
3728 =3*82+7*81+2*80=3*64+7*8+2*1=192+56+2=250,
FA16= F*161+A*160=15* 161+10*160=240+10=250.
Попробуйте самостоятельно перевести число 6546 в десятичную систему счисления.
В общем случае перевод чисел из позиционной системы счисления с основанием Y (отличным от 10) в позиционную систему счисления с основанием Z (также отличным от 10) можно выполнить следующим образом. Число, записанное в системе с основанием Y, следует последовательно делить на число Z (это число Z должно быть предварительно представлено в системе счисления с основанием Y) и затем записать полученное последнее число и остатки в обратном порядке. Например, надо перевести число 3068 в троичную систему счисления (Y=8, Z=3). Следует отметить, что число три (представленное в троичной системе счисления) в восьмеричной системе счисления также равно трем. Тогда при переводе числа 3068 в троичную систему счисления можно это число последовательно делить на 3 (в восьмеричной системе счисления).
3068:3=1028 (остаток 0), так как 1028 не меньше 3, то
1028:3=268 (остаток 0), так как 268 не меньше 3, то
268:3=78 (остаток 1), так как 78 не меньше 3, то
78:3=2 (остаток 1), так как 2 меньше 3, то записываем число в обратном порядке 211003. То есть 3068=211003.
Например, надо выполнить обратный перевод, то есть перевести число 211003 в восьмеричную систему счисления (Y=3, Z=8). Число 8 (представленное в восьмеричной системе счисления) будет представлено числом 223 в троичной системе счисления. Тогда при переводе числа 211003 в восьмеричную систему счисления можно это число последовательно делить на 223.
211003: 223=2203 (остаток 203, то есть 203=610=68), так как 2203 не меньше 223, то
2203: 223=103 (остаток 0), так как 103 меньше 223, то (учитывая, что 103=310=38) записываем число в обратном порядке 3068. То есть 211003=3068.
Если основания систем счисления связаны соотношением Y=Zn (где n - натуральное число), то перевод чисел из одной указанной системы в другую упрощается. В этом случае, при переводе из системы с основанием Y в систему с основанием Z, число разбивается на группы по n чисел в группе. Каждая группа переводится в систему с основанием Z, затем полученные цифры записывают в порядке следования групп. При обратном переводе (из системы с основанием Z в систему с основанием Y) каждая цифра числа (представленная в системе с основанием Z) переводится в систему с основанием Y (по n знаков в каждой группе, при этом недостающие знаки дополняются нулями). В настоящее время в компьютерах используется двоичная система счисления, а для отображения данных (представленных в памяти компьютера) широко используется также шестнадцатеричная система счисления. Так как основания этих систем счисления связаны соотношением Y=Zn (в данном случае 16=24), то перевод чисел из одной указанной системы в другую можно выполнить указанным способом. При переводе двоичного числа в шестнадцатеричную систему счисления можно выполнить следующие действия. Вначале разбиваем двоичное число на группы по 4 разряда (справа налево). Если в последней группе окажется менее четырех разрядов, то недостающие разряды дополняем нулями (слева). Затем каждую группу двоичных разрядов переводят в десятичную систему (при этом, полученные десятичные числа представляют шестнадцатеричными цифрами) и записывают эти цифры в порядке следования групп. Например, при переводе числа 1110001112 в шестнадцатеричную систему счисления разбивают данную последовательность на группы (дополнив недостающие разряды нулями) 00012 11002 01112, затем выполняют перевод в десятичную систему счисления
00012=0*23+0*22+0*21+1*20=0+0+0+1=1,
11002=1*23+1*22+0*21+0*20 =1*8+1*4+0*2+0*1=8+4+0+0=12,
01112=0*23+1*22+1*21+1*20 =0*8+1*4+1*2+1*1=0+4+2+1=7,
то есть, получаем три числа 110, 1210, 710. Так как 110=116, 1210=C16, 710=716, то получаем 1110001112=1C716.
Обратный перевод шестнадцатеричного числа в двоичную систему счисления можно выполнить следующим образом. Каждую шестнадцатеричную цифру представляют десятичным числом, которую переводят в двоичную систему (представляя четырьмя разрядами). Получившиеся двоичные числа записывают в порядке их следования. Например, при переводе числа E216 в двоичную систему счисления это число представляют так: E16=1410, 216=210, далее выполняют перевод в десятичную систему счисления 14=11102, 2=00102 и записывают E216=111000102.
Аналогичным образом можно переводить число, например, из двоичной системы счисления в восьмеричную, но, так как 8=23, то последовательность бит разбивают на группы по 3 разряда.