1. Введение
Двоичные числа
Внутри компьютеры используют двоичные числа, поскольку компьютеры так сделаны, что по своей природе они хранят и обрабатывают нули и единицы. Двоичная система счисления имеет два числа, 0 и 1. Число или символ хранятся как последовательности нулей и единиц. Каждый 0 или 1 называются битом (двоичной цифрой).
Десятичные числа
В нашей повседневной жизни мы используем десятичные числа. Когда мы в нашей программе записываем номер, такой как 20, он предполагается десятичным числом. Внутри компьютерное программное обеспечение используется для преобразования десятичных чисел в двоичные числа и наоборот.
Шестнадцатеричные числа
Мы пишем компьютерные программы используя десятичные числа. Тем не менее, для работы с операционной системой нам нужно опуститься до «машинного уровня», используя двоичные цифры. Двоичные числа имеют тенденцию быть очень длинными и громоздкими. Часто для их сокращения используются шестнадцатеричные числа, причем каждая шестнадцатеричная цифра представляет четыре двоичных цифры. Шестнадцатеричная система счисления имеет 16 цифр: 0-9 и A-F. Буквы A, B, C, D, E и F соответствуют десятичным числам 10, 11, 12, 13, 14 и 15.
Цифрами десятичной системы являются 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Десятичное число представлено последовательностью одной или нескольких из этих цифр. Значение, которое каждая цифра представляет, зависит от её положения, которая обозначает интегральную степень 10. Например, цифры 7, 4, 2 и 3 в десятичном числе 7423 представляют соответственно 7000, 400, 20 и 3, как показано ниже:
База, основание системы счисления
Система десятичных чисел имеет десять цифр, а значения позиции – интегральная степень 10. Мы говорим, что 10 является базой или основанием системы десятичных чисел. Аналогично, поскольку двоичная система счисления имеет две цифры, ее база равна 2, а так как система шестнадцатеричного числа имеет 16 цифр, ее база равна 16.
Если 1101 является двоичным числом, цифры 1, 1, 0 и 1 представляют 1 * 23, 1 * 22, 0 * 21 и 1 * 20 соответственно:
Если 7423 является шестнадцатеричным числом, цифры 7, 4, 2 и 3 представляют соответственно 7 * 163, 4 * 162, 2 * 161 и 3 * 160:
2. Конвертации между двоичными и десятичными числами
Двоичное в десятичное
Дано бинарное число bnbn — 1bn — 2 … b2b1b0, десятичным эквивалентом является
Вот несколько примеров преобразования двоичных чисел в десятичные числа:
Десятичное в двоичное
Для преобразования десятичного числа d в двоичное число необходимо нейти биты bn, bn — 1, bn — 2, …, b2, b1 и b0 такие что:
Эти биты могут быть найдены последовательным делением d на 2, пока частное не будет равно 0. Остатками являются b0, b1, b2, c , bn — 2, bn — 1 и bn.
Например, десятичное число 123 это 1111011 в двоичной системе счисления. Конвертация делается следующим образом:
Подсказка: в программе Windows Calculator вы можете перейти в режим PROGRAMMER, который позволяет выполнять преобразование чисел из одной системы счисления в другую. Для запуска программы, нажмите кнопку Win и начните набирать Calculator.
3. Конвертация между шестнадцатеричными и десятичными цифрами
Шестнадцатеричное в десятичное
Данному шестнадцатеричному числу hnhn — 1hn — 2 … h2h1h0 десятеричным эквивалентом является
Вот несколько примеров преобразования шестнадцатеричных чисел в десятичные числа:
Десятичное в шестнадцатеричное
Для конвертации десятичного числа d в шестнадцатеричное число нужно найти шестнадцатеричные цифры hn, hn — 1, hn — 2, … , h2, h1 и h0 таким образом:
Эти числа могут быть найдены последовательным делением d на 16 пока частное не равно 0. Остатками являются h0, h1, h2, … , hn — 2, hn — 1 и hn.
Например, десятичное число 123 в шестнадцатеричной системе счисления это 7B. Преобразование сделано следующим образом:
4. Конвертации между двоичными и шестнадцатеричными числами
Шестнадцатеричное в двоичное
Для преобразования шестнадцатеричного в двоичное число, просто преобразуйте каждую цифру в шестнадцатеричном числе в четырёхзначный двоичный номер, используя таблицу:
Шестнадцатеричное | Двоичное | Десятичное |
---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
A | 1010 | 10 |
B | 1011 | 11 |
C | 1100 | 12 |
D | 1101 | 13 |
E | 1110 | 14 |
F | 1111 | 15 |
Например, шестнадцатеричное число 7B – это 1111011, где 7 это 111 в двоичной системе, а B – это 1011 в двоичной.
Двоичное в шестнадцатеричное
Для преобразования двоичного числа в шестнадцатеричное, преобразуйте каждые четыре двоичные цифры в шестнадцатеричные используя представленную выше таблицу.
Например, двоичное число 1110001101 это шестнадцатеричное число 38D, поскольку 1101 это D, 1000 это 8, а 11 это 3, как показано ниже.
Обратите внимание, что если остаётся менее четырёх двоичных цифр, то они дополняются нулями, чтобы получилось четыре цифры и можно было найти соответствие в таблице.
Примечание: восьмеричные цифры также полезны. Восьмеричная система счисления имеет восемь цифр от 0 до 7. Десятичное число 8 представлено в восьмеричной системе как 10.
Проверь себя:
- Преобразуйте следующие десятичные цифры в шестнадцатеричные и двоичные числа: 100; 4340; 2000
- Конвертируйте следующие двоичные цифры в шестнадцатеричные и двоичные числа: 1000011001; 100000000; 100111
- Конвертируйте следующие шестнадцатеричные числа в двоичные и десятичные цифры: FEFA9; 93; 2000