Правила перевода из одной системы счисления в любую другую
В этом уроке разберем правила перевода чисел из любой системы счисления в любую другую
Перевод чисел из одной системы счисления в другую является важной темой в математике и информатике. Существует несколько систем счисления, таких как двоичная, десятичная, восьмеричная и шестнадцатеричная.
Введение
| Наименование системы счисления | Алфавит |
| Двоичная | 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
