Методы перевода десятичного числа в двоичное
В одном из наших материалов мы рассмотрели определение двоичного числа. Оно имеет самый короткий алфавит. Только две цифры: 0 и 1. Примеры алфавитов позиционных систем счисления приведены в таблице.
Позиционные системы счисления
Название системы |
Основание |
Алфавит |
Двоичная |
2 |
0,1 |
Троичная |
3 |
0,1,2 |
Четверичная |
4 |
0,1,2,3 |
Пятеричная |
5 |
0,1,2,3,4 |
Восьмеричная |
8 |
0,1,2,3,4,5,6,7 |
Десятичная |
10 |
0,1,2,3,4,5,6,7,8,9 |
Двенадцатеричная |
12 |
0,1,2,3,4,5,6,7,8,9,А,В |
Шестнадцатеричная |
16 |
0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F |
Тридцатишестиричная |
36 |
0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F,G, H,I,J,K,L,M,N,O,P,R,S,T,U,V,X,Y,Z |
Для перевода небольшого числа из десятичного в двоичное, и обратно, лучше пользоваться следующей таблицей.
Таблица перевода десятичных чисел от 0 до 20 в двоичную систему счисления.
десятичное число |
двоичное число |
десятичное число |
двоичное число |
0 |
0000 |
11 |
1011 |
1 |
0001 |
12 |
1100 |
2 |
0010 |
13 |
1101 |
3 |
0011 |
14 |
1110 |
4 |
0100 |
15 |
1111 |
5 |
0101 |
16 |
10000 |
6 |
0110 |
17 |
10001 |
7 |
0111 |
18 |
10010 |
8 |
1000 |
19 |
10011 |
9 |
1001 |
20 |
10100 |
10 |
1010 |
и т.д. |
|
Однако таблица получится огромной, если записать туда все числа. Искать среди них нужное число будет уже сложнее. Гораздо проще запомнить несколько алгоритмов перевода чисел из одной позиционной системы счисления в другую.
Как сделать перевод из одной системы счисления в другую? В информатике существует несколько простых способов перевода десятичных чисел в двоичные числа. Рассмотрим два из них.
Способ №1.
Допустим, требуется перевести число 637 десятичной системы в двоичную систему.
Делается это следующим образом: отыскивается максимальная степень двойки, чтобы два в этой степени было меньше или равно исходному числу.
В нашем случае это 9, т.к. 29=512, а 210=1024, что больше нашего начального числа. Таким образом, мы получили число разрядов результата. Оно равно 9+1=10. Значит, результат будет иметь вид 1ххххххххх, где вместо х может стоять 1 или 0.
Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 637-29=125. Затем сравниваем с числом 28=256. Так как 125 меньше 256, то девятый разряд будет 0, т.е. результат уже примет вид 10хххххххх.
27=128 > 125, значит и восьмой разряд будет нулём.
26=64, то седьмой разряд равен 1. 125-64=61 Таким образом, мы получили четыре старших разряда и число примет вид 10011ххххх.
25=32 и видим, что 32 < 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.
24=16 < 29 - пятый разряд 1 => 1001111ххх. Остаток 29-16=13.
23=8 < 13 => 10011111хх. 13-8=5
22=4 < 5 => 10011111хх, остаток 5-4=1.
21=2 > 1 => 100111110х, остаток 2-1=1.
20=1 => 1001111101.
Это и будет конечный результат.
Способ №2.
Правило перевода целых десятичных чисел в двоичную систему счисления, гласит:
- Разделим an−1an−2...a1a0=an−1⋅2n−1+an−2⋅2n−2+...+a0⋅20 на 2.
- Частное будет равно an−1⋅2n−2+...+a1, а остаток будет равен
- Полученное частное опять разделим на 2, остаток от деления будет равен a1.
- Если продолжить этот процесс деления, то на n-м шаге получим набор цифр: a0,a1,a2,...,an−1, которые входят в двоичное представление исходного числа и совпадают с остатками при его последовательном делении на 2.
- Таким образом, для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, которое будет равно нулю.
Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков. Записывать его начинаем с последнего найденного.
Переведём десятичное число 11 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:
Получили 1110=10112.
Пример:
Если десятичное число достаточно большое, то более удобен следующий способ записи рассмотренного выше алгоритма:
363 |
181 |
90 |
45 |
22 |
11 |
5 |
2 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
36310=1011010112
Двоичная система счисления Простыми словами о ядре Linux