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

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

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

Введение

Наименование системы счисления Алфавит
Двоичная 0,1
Восьмеричная 0,1,2,3,4,5,6,7
Десятичная 0,1,2,3,4,5,6,7,8,9
Шестнадцатеричная 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Правило записи

Nq, где N - число, а q - основание


Наименование системы счисления Запись
Двоичная 1012
Восьмеричная 7028
Десятичная 19010 (если основание у числа не указано, то считается что число записано в десятичной системе)
Шестнадцатеричная A1F16

Основание системы счисления указывает на количество символов алфавита используемой системы счисления.


Десятичная система счисления

Десятичная система счисления - это позиционная система (т.е. значение каждой цифры в записи числа зависит от его разряда) по основанию 10.

12310

В приведенном выше числе три разряда: единицы, десятки и сотни. Можем прочитать это число так 1 сотня, 2 десятки и 3 единицы (100 + 20 + 3).

Каждый разряд мы можем пронумеровать, с младшего (единицы), начиная с ноля.

Индекс разряда 2 1 0
Число 1 2 3

После того, как индексы расставлены, можно записать число в развернутой форме. Развернутая форма записывается в виде суммы разрядных слагаемых. Каждое разрядное слагаемое записывается в виде числа умноженного на основание системы возведенное в степень индекса(веса) разряда.

1*102 + 2*101 + 3*100 = 100 + 20 + 3


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

Когда мы знаем, как записать десятичное число в развернутой форме, мы можем из любой системы счисления перевести в десятичную. Например возьмем число:

10112

1. Расставим индекс(вес) разряда начиная с младшего разряда. Младший разряд, крайний правый, следовательно расставляем индексы справа налево:

Индекс разряда 3 2 1 0
Число 1 0 1 1

2. Теперь запишем число 10012 в развернутой форме:

1*20 + 1*21 + 0*22 + 1*23

3. Получим сумму разрядных слагаемых:

1*20 + 1*21 + 0*22 + 1*23 = 1110

Поздравляю! Теперь мы знаем что число 10112 = 1110

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

Для тренировки, переведите числа: 1012, 1112, 1102, в десятичную систему счисления.

Точно так же можно поступать и с другими системами счисления. Например:

2058

Расставим индексы(вес):

Индекс разряда 2 1 0
Число 2 0 5

Запишем развернутую запись числа, и выполним вычисления:

2058 = 5*80 + 0*81 + 2*82 = 13310

Разберем другой пример:

1A416

Расставим индексы(вес):

Индекс разряда 2 1 0
Число 1 A 4

Далее мы можем записать развернутую форму, но как нам вычислить второй разряд?

Шестнадцатиричное число Десятичное число
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15

Из этой таблицы видно что число A16 = 1010

Индекс разряда 2 1 0
Число 1 10 4

Запишем развернутую форму числа:

1A416 = 1*162 + 10*161 + 4*160 = 42010

Попробуйте самостоятельно перевести числа: 11C16, 2458, 1102, в десятичную систему счисления.


Перевод из десятичной в любую другую

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

Для примера возьмем число 61 и переведем его в двоичную систему счисления.

61 / 2 = 30 остаток 1
30 / 2 = 15 остаток 0
15 / 2 = 7 остаток 1
7 / 2 = 3 остаток 1
3 / 2 = 1 остаток 1
1 меньше основания системы счисления q 1

Для удобства можно использовать короткую запись.

61 30 15 7 3 1
1 0 1 1 1 1

Запишем число начиная справа на лево 1111012.

6110 = 1111012

Этот алгоритм подходит для перевода в любую систему счисления. Например переведем число 61 в восьмеричную систему счисления. Основание системы счисления для перевода 8, следовательно q = 8.

61 / 8 = 7 остаток 5
7 меньше основания системы счисления q 7
61 7
5 7

Запишем число справа на лево 758.

6110 = 758

Довольно просто. Теперь попробуем перевести десятичное число 61 в шестнадцатеричное, следовательно q = 16.

61 / 16 = 3 остаток 13
3 меньше основания системы счисления q 3

Используя короткую запись:

61 3
13 3

Посмотрим на таблицу соответствия между десятичными и шестнадцатеричными числами.

Шестнадцатиричное число Десятичное число
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15

13 соответсвует D. Запишем в ответ шестнадцатиричное число.

6110 = 3D16


Перевод дробных чисел в десятичную систему счисления

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

Для примера возьмем число:

101,112

И переведем его в десятичную систему счисления. Это число записано в двоичной системе счисления, по основанию 2.

Расставим индексы(вес) разрядов:

Индекс разряда 2 1 0 -1 -2
Число 1 0 1 . 1 1

Теперь запишем число 101,112 в развернутой форме и выполним вычисления:

101,112 = 1*22 + 0*21 + 1*20 + 1*2-1 + 1*2-2 = 4 + 0 + 1 + 0,5 + 0,25 = 5,7510

Получим:

101,112 = 5,7510

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

Самостоятельно переведите в десятичную систему счисления: 121,223, 55,418, 4AC16


6175