Термины
-
NS (СС) — Numeral System (Система Счисления)
Перевод из десятичной 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
-
— цифра числа в исходной 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 |
... |
... |
... |
... |
Автор: githubVladimirT