Как перевести из 16 в двоичную систему. Быстрый перевод числа из десятичной системы счисления в двоичную
Замечание 1
Если вы хотите перевести число из одной системы счисления в другую, то удобнее для начала перевести его в десятичную систему счисления, и уже только потом из десятичной перевести в любую другую систему счисления.
Правила перевода чисел из любой системы счисления в десятичную
В вычислительной технике, использующей машинную арифметику, большую роль играет преобразование чисел из одной системы счисления в другую. Ниже приведем основные правила таких преобразований (переводов).
При переводе двоичного числа в десятичное требуется представить двоичное число в виде многочлена , каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $2$, а затем нужно вычислить многочлен по правилам десятичной арифметики:
$X_2=A_n \cdot 2^{n-1} + A_{n-1} \cdot 2^{n-2} + A_{n-2} \cdot 2^{n-3} + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$
Рисунок 1. Таблица 1
Пример 1
Число $11110101_2$ перевести в десятичную систему счисления.
Решение. Используя приведенную таблицу $1$ степеней основания $2$, представим число в виде многочлена:
$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_{10}$
Для перевода числа из восьмеричной системы счисления в десятичную требуется представить его в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $8$, а затем нужно вычислить многочлен по правилам десятичной арифметики:
$X_8 = A_n \cdot 8^{n-1} + A_{n-1} \cdot 8^{n-2} + A_{n-2} \cdot 8^{n-3} + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$
Рисунок 2. Таблица 2
Пример 2
Число $75013_8$ перевести в десятичную систему счисления.
Решение. Используя приведенную таблицу $2$ степеней основания $8$, представим число в виде многочлена:
$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_{10}$
Для перевода числа из шестнадцатеричной системы счисления в десятичную необходимо его представить в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $16$, а затем нужно вычислить многочлен по правилам десятичной арифметики:
$X_{16} = A_n \cdot 16^{n-1} + A_{n-1} \cdot 16^{n-2} + A_{n-2} \cdot 16^{n-3} + ... + A_2 \cdot 16^1 + A_1 \cdot 16^0$
Рисунок 3. Таблица 3
Пример 3
Число $FFA2_{16}$ перевести в десятичную систему счисления.
Решение. Используя приведенную таблицу $3$ степеней основания $8$, представим число в виде многочлена:
$FFA2_{16} = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_{10}$
Правила перевода чисел из десятичной системы счисления в другую
- Для перевода числа из десятичной системы счисления в двоичную его необходимо последовательно делить на $2$ до тех пор, пока не останется остаток, меньший или равный $1$. Число в двоичной системе представить как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример 4
Число $22_{10}$ перевести в двоичную систему счисления.
Решение:
Рисунок 4.
$22_{10} = 10110_2$
- Для перевода числа из десятичной системы счисления в восьмеричную его необходимо последовательно делить на $8$ до тех пор, пока не останется остаток, меньший или равный $7$. Число в восьмеричной системе счисления представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример 5
Число $571_{10}$ перевести в восьмеричную систему счисления.
Решение:
Рисунок 5.
$571_{10} = 1073_8$
- Для перевода числа из десятичной системы счисления в шестнадцатеричную систему его необходимо последовательно делить на $16$ до тех пор, пока не останется остаток, меньший или равный $15$. Число в шестнадцатеричной системе представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример 6
Число $7467_{10}$ перевести в шестнадцатеричную систему счисления.
Решение:
Рисунок 6.
$7467_{10} = 1D2B_{16}$
Для того чтобы перевести правильную дробь из десятичной системы счисления в недесятичную, необходимо дробную часть преобразуемого числа последовательно умножить на основание той системы, в которую ее требуется перевести. Дробь в новой системе будет представлена в виде целых частей произведений, начиная с первого.
Например: $0,3125_{(10)}$ в восьмеричной системе счисления будет выглядеть как $0,24_{(8)}$.
В данном случае можно столкнуться с проблемой, когда конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В данном случае количество знаков в дроби, представленной в новой системе, будет зависеть от требуемой точности. Также нужно отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.
Правила перевода чисел из двоичной системы счисления в другую
- Чтобы перевести число из двоичной системы счисления в восьмеричную, его необходимо разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, затем каждую триаду заменить соответствующей восьмеричной цифрой согласно таблице 4.
Рисунок 7. Таблица 4
Пример 7
Число $1001011_2$ перевести в восьмеричную систему счисления.
Решение . Используя таблицу 4, переведем число из двоичной системы счисления в восьмеричную:
$001 001 011_2 = 113_8$
- Чтобы перевести число из двоичной системы счисления в шестнадцатеричную, его следует разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, затем каждую тетраду заменить соответствующей восьмеричной цифрой согласно таблице 4.
Результат уже получен!
Системы счисления
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:
Тогда число 6372 можно представить в следующем виде:
6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .
Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.
Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:
Тогда число 1287.923 можно представить в виде:
1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .
В общем случае формулу можно представить в следующем виде:
Ц n ·s n +Ц n-1 ·s n-1 +...+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k
где Ц n -целое число в позиции n , Д -k - дробное число в позиции (-k), s - система счисления.
Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.
Таблица 1 | |||
---|---|---|---|
Система счисления | |||
10 | 2 | 8 | 16 |
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 |
Перевод чисел из одной системы счисления в другую
Для перевода чисел с одной системы счисления в другую, проще всего сначала перевести число в десятичную систему счисления, а затем, из десятичной системы счисления перевести в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.
Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:
1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125
Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:
Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:
Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления нужно переводить отдельно целую часть числа и дробную часть числа.
Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.
Пример 4 . Переведем число 159 из десятичной СС в двоичную СС:
159 | 2 | ||||||
158 | 79 | 2 | |||||
1 | 78 | 39 | 2 | ||||
1 | 38 | 19 | 2 | ||||
1 | 18 | 9 | 2 | ||||
1 | 8 | 4 | 2 | ||||
1 | 4 | 2 | 2 | ||||
0 | 2 | 1 | |||||
0 |
Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:
159 10 =10011111 2 .
Пример 5 . Переведем число 615 из десятичной СС в восьмеричную СС.
615 | 8 | ||
608 | 76 | 8 | |
7 | 72 | 9 | 8 |
4 | 8 | 1 | |
1 |
При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:
615 10 =1147 8 .
Пример 6 . Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.
Для перевода правильных десятичных дробей (вещественное число с нулевой целой частью) в систему счисления с основанием s необходимо данное число последовательно умножить на s до тех пор, пока в дробной части не получится чистый нуль, или же не получим требуемое количество разрядов. Если при умножении получится число с целой частью, отличное от нуля, то эту целую часть не учитывать (они последовательно зачисливаются в результат).
Рассмотрим вышеизложенное на примерах.
Пример 7 . Переведем число 0.214 из десятичной системы счисления в двоичную СС.
0.214 | ||
x | 2 | |
0 | 0.428 | |
x | 2 | |
0 | 0.856 | |
x | 2 | |
1 | 0.712 | |
x | 2 | |
1 | 0.424 | |
x | 2 | |
0 | 0.848 | |
x | 2 | |
1 | 0.696 | |
x | 2 | |
1 | 0.392 |
Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .
Следовательно можно записать:
0.214 10 =0.0011011 2 .
Пример 8 . Переведем число 0.125 из десятичной системы счисления в двоичную СС.
0.125 | ||
x | 2 | |
0 | 0.25 | |
x | 2 | |
0 | 0.5 | |
x | 2 | |
1 | 0.0 |
Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:
0.125 10 =0.001 2 .
Пример 9 . Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.
0.214 | ||
x | 16 | |
3 | 0.424 | |
x | 16 | |
6 | 0.784 | |
x | 16 | |
12 | 0.544 | |
x | 16 | |
8 | 0.704 | |
x | 16 | |
11 | 0.264 | |
x | 16 | |
4 | 0.224 |
Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:
0.214 10 =0.36C8B4 16 .
Пример 10 . Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.
0.512 | ||
x | 8 | |
4 | 0.096 | |
x | 8 | |
0 | 0.768 | |
x | 8 | |
6 | 0.144 | |
x | 8 | |
1 | 0.152 | |
x | 8 | |
1 | 0.216 | |
x | 8 | |
1 | 0.728 |
Получили:
0.512 10 =0.406111 8 .
Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:
159.125 10 =10011111.001 2 .
Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.
Инструкция
Видео по теме
В той системе счета, которой мы пользуемся каждый день, десять цифр - от нуля до девяти. Поэтому она называется десятичной. Однако в технических расчетах, особенно тех, которые имеют отношение к компьютерам, используются и другие системы , в частности, двоичная и шестнадцатеричная. Поэтому нужно уметь переводить числа из одной системы счисления в другую.
Вам понадобится
- - листок бумаги;
- - карандаш или ручка;
- - калькулятор.
Инструкция
Двоичная система - самая простая. В ней всего две цифры - ноль и единица. Каждая цифра двоичного числа , начиная с конца, соответствует степени двойки. Два в равняется одному, в первой - двум, во второй - четырем, в третьей - восьми, и так далее.
Предположим, что вам дано двоичное число 1010110. Единицы в нем стоят на втором, третьем, пятом и седьмом с конца местах. Поэтому в десятичной системе это число равно 2^1 + 2^2 + 2^4 + 2^6 = 2 + 4 + 16 + 64 = 86.
Обратная задача - десятичного числа
систему. Предположим, у вас есть число 57. Чтобы получить его запись, вы должны последовательно делить это число на 2 и записывать остаток от деления. Двоичное число будет строиться от конца к началу.
Первый шаг даст вам последнюю цифру: 57/2 = 28 (остаток 1).
Затем вы получаете вторую с конца: 28/2 = 14 (остаток 0).
Дальнейшие шаги: 14/2 = 7 (остаток 0);
7/2 = 3 (остаток 1);
3/2 = 1 (остаток 1);
1/2 = 0 (остаток 1).
Это последний шаг, потому что результат деления равен нулю. В итоге вы получили двоичное число 111001.
Проверьте правильность ответа: 111001 = 2^0 + 2^3 + 2^4 + 2^5 = 1 + 8 + 16 + 32 = 57.
Вторая , используемая в компьютерных вопросах - шестнадцатеричная. В ней не десять, а шестнадцать цифр. Чтобы не новых условных обозначений, первые десять цифр шестнадцатеричной системы обозначаются обычными цифрами, а остальные шесть - латинскими буквами: A, B, C, D, E, F. десятичной записи они соответствуют числа м от 10 до 15. Во избежание путаницы перед числом, записанным по шестнадцатеричной системе, ставят знак # или символы 0x.
Обратный перевод из десятичной системы
в шестнадцатеричную совершается тем же методом остатков, что и в двоичную. Например, возьмите число 10000. Последовательно деля его на 16 и записывая остатки, вы получите:
10000/16 = 625 (остаток 0).
625/16 = 39 (остаток 1).
39/16 = 2 (остаток 7).
2/16 = 0 (остаток 2).
Результатом вычислений станет шестнадцатеричное число #2710.
Проверьте правильность ответа: #2710 = 1*(16^1) + 7*(16^2) + 2*(16^3) = 16 + 1792 + 8192 = 10000.
Переводить числа
из шестнадцатеричной системы
в двоичную гораздо проще. Число 16 является двойки: 16 = 2^4. Поэтому каждую шестнадцатеричную цифру можно записать как четырехзначное двоичное число. Если у вас в двоичном числе получается меньше четырех знаков, добавляйте в начало нули.
Например, #1F7E = (0001)(1111)(0111)(1110) = 1111101111110.
Проверьте правильность ответа: оба числа
в десятичной записи равны 8062.
Для перевода вам нужно разбить двоичное число на группы по четыре цифры, начиная с конца, и каждую такую группу заменить шестнадцатеричной цифрой.
Например, 11000110101001 превращается в (0011)(0001)(1010)(1001), что в шестнадцатеричной записи дает #31A9. Правильность ответа подтверждается переводом в десятичную запись: оба числа
равны 12713.
Совет 5: Как перевести число в двоичную систему исчисления
Благодаря ограниченности в использовании символов двоичная система является наиболее удобной для использования в компьютерах и других цифровых устройствах. Символов всего два: 1 и 0, поэтому эту систему применяют в работе регистров.
Инструкция
Двоичная является позиционной, т.е. позиции каждой цифры в числе соответствует определенный разряд, который равен двум в соответствующей степени. Степень начинается с нуля и увеличивается по мере движения справа налево. Например, число 101 равно 1*2^0 + 0*2^1 + 1*2^2 = 5.
Рассмотрим десятичного числа в двоичную систему методом последовательного деления на 2.Чтобы перевести десятичное число 25 в код, необходимо делить его на 2 до тех пор, пока не останется 0. Остатки, полученные на каждом шаге деления, записываются в строку справа налево, после записи цифры последнего остатка это и будет итоговое
Когда занимаешься настройками сетей различного масштаба и каждый день сталкиваешься с вычислениями – то такого рода шпаргалки заводить не обязательно, все и так делается на безусловном рефлексе. Но когда в сетях ковыряешься очень редко, то не всегда вспомнишь какая там маска в десятичной форме для префикса 21 или же какой адрес сети при этом же префиксе. В связи с этим я и решил написать несколько маленьких статей-шпаргалок по переводом чисел в различные системы счислений, сетевым адресам, маскам и т.п. В это части пойдет речь о переводи чисел в различные системы счислений.
1. Системы счислений
Когда вы занимаетесь чем-то связанным с компьютерными сетями и ИТ, вы по любому столкнетесь с этим понятием. И как толковый ИТ-шник вам нужно разбираться в этом хотя бы чу-чуть даже если на практике вы это будете применять очень редко.
Рассмотрим перевод каждой цифры из IP-адреса 98.251.16.138
в следующие системы счислений:
- Двоичная
- Восьмеричная
- Десятичная
- Шестнадцатеричная
1.1 Десятичная
Так как цифры записаны в десятичной, перевод с десятичной в десятичную пропустим 🙂
1.1.1 Десятичная → Двоичная
Как мы знаем двоичная система счисления используется практически во всех современных компьютерах и многих других вычислительных устройствах. Система очень проста – у нас есть только 0 и 1.
Для преобразования числа с десятиной в двоичную форму нужно использовать деление по модулю 2 (т.е. целочисленное деление на 2) в результате чего мы всегда будем иметь в остатке либо 1, либо 0. При этом результат записываем справа налево. Пример все поставит на свои места:
Рисунок 1.1 – Перевод чисел из десятичной в двоичную систему
Рисунок 1.2 – Перевод чисел из десятичной в двоичную систему
Опишу деление числа 98. Мы делим 98 на 2, в результате имеем 49 и остаток 0. Далее продолжаем деление и делим 49 на 2, в результате имеем 24 с остатком 1. И таким же образом добираемся до 1-ки или 0-ка в делимом. Затем результат записываем справа налево.
1.1.2 Десятичная → Восьмеричная
Восьмеричная система – это целочисленная система счисления с основанием 8. Т.е. все числа в ней представлены диапазоном 0 – 7 и для перевода с десятичной системы нужно использовать деление по модулю 8.
Рисунок 1.3 – Перевод чисел из десятичной в восьмеричную систему
Деление аналогично 2-чной системе.
1.1.3 Десятичная → Шестнадцатеричная
Шестнадцатеричная система почти полностью вытеснила восьмеричную систему. У нее основание 16, но используются десятичные цифры от 0 до 9 + латинские буквы от A(число 10) до F(число 15). С ней вы сталкиваетесь каждый раз, когда проверяете настройки сетевого адаптера — это МАС-адрес. Так же, когда используется IPv6.
Рисунок 1.4 – Перевод чисел из десятичной в шестнадцатеричную систему
1.2 Двоичная
В предыдущем примере мы перевели все десятичные числа в другие системы счислений, одна из которых двоичная. Теперь переведем каждое число с двоичной формы.
1.2.1 Двоичная → Десятичная
Для перевода чисел с двоичной формы в десятичную нужно знать два нюанса. Первый – у каждого нолика и единички есть множитель 2 в n-й степени, при котором n увеличивается справа налево ровно на единичку. Второй – после перемножения все числа нужно сложить и мы получим число в десятичной форме. В итого у нас будет формула такого вида:
D = (a n × p n-1) + (a n-1 × p n-2) + (a n-2 × p n-3) +…, (1.2.1)
Где,
D – это число в десятичной форме, которое мы ищем;
n
– количество символов в двоичном числе;
a – число в двоичной форме на n-й позиции (т.е. первый символ, второй, и т.п.);
p – коэффициент, равный 2,8 или 16 в степени n
(в зависимости от системы счисления)
К примеру возьмем число 110102. Смотрим на формулу и записываем:
- Число состоит из 5 символов (n =5)
- p = 2 (так как переводим из двоичной в десятичную)
a 5 = 1, a 4 = 1, a 3 = 0, a 2 = 1, a 1 = 0
В итоге имеем:
D = (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) = 16 + 8 + 0 + 2 + 0 = 26 10
Кто привык записывать справа на лево, форму будет выглядеть так:
D = (0 × 2 5-5) + (1 × 2 5-4) + (0 × 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) = 0 + 2 + 0 + 8 + 16 = 26 10
Но, как мы знаем, от перестановки слагаемых сумма не меняется. Давайте теперь переведем наши числа в десятичную форму.
Рисунок 1.5 – Перевод чисел из двоичной в десятичную систему
1.2.2 Двоичная → Восьмеричная
При переводе нам нужно двоичное число разбить на группы по три символа справа налево. Если последняя группа не состоит из трех символов, то мы просто возмещаем недостающие биты ноликами. К примеру:
10101001 = 0 10 101 001
1011100 = 00 1 011 100
Каждая группа битов – это одно из восьмеричных чисел. Чтобы узнать какое, нужно использовать написанную выше формулу 1.2.1 для каждой группы битов. В результате мы получим.
Рисунок 1.6 – Перевод чисел из двоичной в восьмеричную систему
1.2.3 Двоичная → Шестнадцатеричная
Здесь нам нужно двоичное число разбивать на группы по четыре символа справа налево с последующим дополнением недостающих битов группы ноликами, как писалось выше. Если последняя группа состоит из ноликов, то их нужно игнорировать.
110101011 = 000 1 1010 1011
1011100 = 0 101 1100
001010000 = 00 0101 0000 = 0101 0000
Каждая группа битов – это одно из шестнадцатеричных чисел. Используем формулу 1.2.1 для каждой группы битов.
Рисунок 1.7 – Перевод чисел из двоичной в шестнадцатеричную систему
1.3 Восьмеричная
В этой системе у нас могут возникнуть сложности только при переводе в 16-ричную систему, так как остальной перевод проходит гладко.
1.3.1 Восьмеричная → Двоичная
Каждое число в восьмеричной системе – это группа из трех битов в двоичной системе, как писалось выше. Для перевода нам нужно воспользоваться табличкой-шпаргалкой:
Рисунок 1.8 – Шпора по переводу чисел из восьмеричной системы
Используя эту табличку переведем наши числа в двоичную систему.
Рисунок 1.9 – Перевод чисел из восьмеричной в двоичную систему
Немного опишу вывод. Первое число у нас 142, значит будет три группы по три бита в каждой. Юзаем шпору и видим, что цифра 1 это 001, цифра 4 это 100 и цифра 2 это 010. В результате имеем число 001100010.
1.3.2 Восьмеричная → Десятичная
Здесь мы используем формулу 1.2.1 только с коэффициентом 8 (т.е. p=8). В результате имеем
Рисунок 1.10 – Перевод чисел из восьмеричной в десятеричную систему
- Число состоит из 3 символов (n =3)
- p = 8 (так как переводим из восьмеричной в десятичную)
a 3 = 1, a 2 = 4, a 1 = 2
В результате имеем:
D = (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) = 64 + 32 + 2 = 98 10
1.3.3 Восьмеричная → Шестнадцатеричная
Как писалось раньше, для перевода нам нужно сначала перевести числа в двоичную систему, потом с двоичной в шестнадцатеричную, поделив на группы по 4-ре бита. Можно использовать следующею шпору.
Рисунок 1.11 – Шпора по переводу чисел из шестнадцатеричной системы
Эта табличка поможет перевести из двоичной в шестнадцатеричную систему. Теперь переведем наши числа.
Рисунок 1.12 – Перевод чисел из восьмеричной в шестнадцатеричную систему
1.4 Шестнадцатеричная
В этой системе та же проблема, при переводе в восьмеричную. Но об этом позже.
1.4.1 Шестнадцатеричная → Двоичная
Каждое число в шестнадцатеричной системе – это группа из четырех битов в двоичной системе, как писалось выше. Для перевода нам можно воспользоваться табличкой-шпаргалкой, которая находиться выше. В результате:
Рисунок 1.13 – Перевод чисел из шестнадцатеричной в двоичную систему
Возьмем первое число – 62. Используя табличку (рис. 1.11) мы видим, что 6 это 0110, 2 это 0010, в результате имеем число 01100010.
1.4.2 Шестнадцатеричная → Десятичная
Здесь мы используем формулу 1.2.1 только с коэффициентом 16 (т.е. p=16). В результате имеем
Рисунок 1.14 – Перевод чисел из шестнадцатеричной в десятеричную систему
Возьмем первое число. Исходя из формулы 1.2.1:
- Число состоит из 2 символов (n =2)
- p = 16 (так как переводим из шестнадцатеричной в десятичную)
a 2 = 6, a 1 = 2
В результате имеем.
D = (6 × 16 2-1) + (2 × 16 2-2) = 96 + 2 = 98 10
1.4.3 Шестнадцатеричная → Восьмеричная
Для перевода в восьмеричную систему нужно сначала перевести в двоичную, затем разбить на группы по 3-и бита и воспользоваться табличкой (рис. 1.8). В результате:
Рисунок 1.15 – Перевод чисел из шестнадцатеричной в восьмеричную систему
В пойдет речь о IP-адресах, масках и сетях.
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней двойки:
Таблица 4. Степени числа 2
n (степень) |
|||||||||||
Пример.
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица 5. Степени числа 8
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 6. Степени числа 16
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в двоичную систему счисления.
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в восьмеричную систему счисления.
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в шестнадцатеричную систему счисления.