Краткое пособие по переводу между системами счисления с основаниями 2, 8, 10, 16
Термины
Перевод из десятичной NS в двоичную
Существует два способа перевести из десятичной NS в двоичную. Далее будут разобраны оба алгоритма.
Алгоритм №1
Мы можем перевести число из десятичной NS в двоичную, следуя следующему алгоритму:
Для этого необходимо выполнить следующие действия:
Делим на и записываем остаток от деления
Результат деления вновь делим на и опять записываем остаток
Повторяем операцию до тех пор пока результат деления не будет равен нулю
Записываем полученные остатки в обратном порядке. Полученное число и будет искомым
Пример:
Дано число
Ответ:
Алгоритм №2
Есть и другой способ перевода числа из десятичной NS в двоичную: путем «прикидок» степеней двоек, не превышающих данного числа.
Пример:
Дано число
Шаг первый. Прикинем степень двойки, не превышающую данного числа.
Шаг второй. Так как число больше , значит мы можем представить число в виде суммы .
Повторим первый шаг: прикинем степень двойки, не превышающую второго слагаемого.
Повторим второй шаг: так как число больше , значит мы можем представить число в виде суммы .
Далее повторим вторые и третьи шаги до тех пор, пока мы не разложим число на сумму степеней двоек. В итоге мы получим следующую запись:
Шаг третий. Расставим единицы в тех разрядах, номера которых равны степеням двоек в полученной ранее сумме (разряды пронумерованы с ).
Ответ:
Перевод из двоичной NS в десятичную
Перевод числа из двоичной NS в десятичную осуществляется путем умножения каждого разряда числа на , где — номер разряда, начиная с .
Пример:
Дано число
Шаг первый. Пронумеруем разряды данного нам двоичного числа от 0 справа налево:
Шаг второй. Запишем сумму вида , где — номер разряда, начиная с :
Ответ:
Перевод из двоичной NS в восьмеричную
Разобьем данное нам число на триады (на блоки по три цифры), а затем заменим каждую триаду соответствующей цифрой, согласно таблице перевода (см приложение).
Пример:
Дано число
По таблице увидим, что двоичному числу соответствует восьмеричное число , а числу — , значит, заменив каждую триаду на соответствующее восьмеричное число, получим:
Ответ:
Перевод из восьмеричной NS в двоичную
Заменим каждую цифру числа соответствующей триадой из таблицы перевода (см приложение).
Пример:
Дано число
Ответ:
Перевод из десятичной NS в восьмеричную
Алгоритм перевода в восьмеричную NS тот же, что и алгоритм №1 перевода в двоичную NS.
Необходимо выполнить следующие действия:
Делим на и записываем остаток от деления
Результат деления вновь делим на и опять записываем остаток
Повторяем операцию до тех пор пока результат деления не будет равен нулю
Записываем полученные остатки в обратном порядке. Полученное число и будет искомым
Пример:
Дано число
Ответ:
Перевод из восьмеричной NS в десятичную
Для перевода из восьмеричной NS в десятичную, необходимо умножить каждый разряд числа на , где — номер разряда, начиная с , а затем сложить полученные значения.
Пример:
Дано число
Ответ:
Перевод из десятичной NS в шестнадцатеричную
Алгоритм перевода в восьмеричную NS практически тот же, что и алгоритм №1 перевода в двоичную NS.
Необходимо выполнить следующие действия:
Делим на и записываем остаток от деления
Результат деления вновь делим на и опять записываем остаток
Повторяем операцию до тех пор пока результат деления не будет равен нулю
Переводим остатки бо́льшие согласно таблице перевода (см приложение)
Записываем полученные остатки в обратном порядке. Полученное число и будет искомым
Пример:
Дано число
Ответ:
Перевод из шестнадцатеричной NS в десятичную
Для перевода из восьмеричной NS в десятичную, необходимо перевести в соответствующие числа по таблице перевода (см приложение) и умножить каждый разряд числа на , где — номер разряда, начиная с , а затем сложить полученные значения.
Пример:
Дано число
Ответ:
Приложение
Общий вид формулы для перевода числа из произвольной NS в десятичную:
, где:
Таблица перевода между NS
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
… | … | … | … |