Что здесь происходит?
Возможно, вы слышали или не слышали термин "единицы и нули", когда люди говорят о компьютерах или пытаются вести себя "технически грамотно". Они ссылаются на двоичную систему счисления, которую используют компьютеры для работы: 1 означает "включено", а 0 — "выключено". Пример двоичного числа может выглядеть так: 0110010110.
Но двоичные числа — не единственная игра в городе. Существует еще одна система нумерации, используемая компьютерами, которая служит аналогичной цели, и это шестнадцатеричная система нумерации или сокращенно hex. С увеличением использования адресов IPv6 вы будете видеть еще больше шестнадцатеричной системы счисления, если вы являетесь ИТ-администратором, поэтому сейчас самое время привыкнуть к ней.
В компьютерном мире шестнадцатеричная нумерация используется для таких вещей, как MAC-адреса и адреса памяти. Он используется для представления больших чисел в меньшем, более удобном для чтения формате. Пример шестнадцатеричного числа выглядит как 2FE4C0, что в двоичном исчислении равно 001011111110010011000000. Как видите, гораздо проще прочитать, запомнить или записать 2FE4C0 по сравнению с 001011111110010011000000! Шестнадцатеричное число 2FE4C0 также можно представить как 3,138,752 в десятичной системе счисления. Вот таблица, в которой показаны преобразования 16 шестнадцатеричных значений в двоичные и десятичные.
Шестнадцатеричная система | Двоичный | Десятичный |
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 |
Шестнадцатеричная система счисления — это система с основанием 16, разделенная на группы по 4 бита (называемые ниббл), и поскольку мы привыкли к 0-9 для нашей десятичной системы счисления, мы используем буквы A-F для представления чисел от 11 до 15, чтобы получить 16 значений в целом (0-F). Слово шестнадцатеричная система счисления на самом деле переводится как шестнадцать. Как вы можете видеть в таблице выше, шестнадцатеричные значения идут от 0 до F, а десятичные эквиваленты — от 0 до 15. Вы могли заметить, что 4-значное двоичное число может быть представлено одним шестнадцатеричным числом, что позволяет значительно сократить длину представления значения.
Причина, по которой шестнадцатеричные числа могут использоваться для представления очень больших чисел, заключается в том, что каждое значение шестнадцатеричного числа в 16 раз больше значения справа от него по сравнению с 10-кратным значением в десятичной системе счисления по основанию 10. И да, значения увеличиваются справа налево, как и в двоичной системе (которая является системой с основанием 2), поэтому это будет выглядеть примерно так: 167 166 165 164 163 162 161 160 и так далее. Как вы можете видеть, эти значения могут становиться довольно большими, чем левее вы продвигаетесь.
160 = 1
161 = 16
162 = 256
163 = 4096
164 = 65536
165 = 1048576
166 = 16777216
167 = 268435456
Итак, что произойдет, если вы захотите увеличить десятичное значение до 15? В этом случае диаграмма будет выглядеть следующим образом.
Десятичная система | Шестнадцатеричная система | Двоичный |
15 | F | 1111 |
16 | 10 | 0001 0000 |
17 | 11 | 0001 0001 |
18 | 12 | 0001 0010 |
19 | 13 | 0001 0011 |
20 | 14 | 0001 0100 |
21 | 15 | 0001 0101 |
22 | 16 | 0001 0110 |
23 | 17 | 0001 0001 |
24 | 18 | 0001 0010 |
25 | 19 | 0001 0011 |
26 | 1A | 0001 1010 |
27 | 1B | 0001 1011 |
28 | 1C | 0001 1100 |
29 | 1D | 0001 1101 |
30 | 1E | 0001 1110 |
31 | 1F | 0001 1111 |
32 | 20 | 0010 0000 |
Имейте в виду, что если десятичное число 16 отображается как 10, это не значит, что это действительно число 10, а на самом деле 1+0, и в то же время десятичное число 17 на самом деле 1+1. Это имеет немного больше смысла, если вы сравните шестнадцатеричное число с его двоичным эквивалентом. Например, 1+0 в двоичном формате — это 0001 (для 1) и 0000 (для 0). Что касается числа 26, которое в шестнадцатеричной системе представлено как 1A, считайте, что это 1+10, поскольку десятичное значение для 1 в шестнадцатеричной системе равно 1, а десятичное значение для 10 равно A в шестнадцатеричной системе, а шестнадцатеричная система нумерации идет от 0 до 9, затем начинается с A-F, поэтому A идет после 9 в 19. Тогда 1 в двоичном формате — 0001, а A в двоичном формате — 1010.
Шестнадцатеричная нумерация, как и двоичная, может быть запутанной, но если немного поиграть с ней и сравнить шестнадцатеричную нумерацию с двоичной и десятичной, то все станет немного понятнее. После получения базовых знаний вы можете использовать онлайн-калькуляторы для выполнения преобразований или даже калькулятор Windows в режиме программиста.
Как видите, вы можете изменить схему нумерации на нужный вам тип, например, hec, dec, oct или bin, а затем ввести свое число, и оно будет преобразовано во все остальные значения, что упрощает процесс перевода.