Поиск по сайту:

От 0 до F: шестнадцатеричный


Шестнадцатеричный. Вещи внутри вашего компьютера. Но что такое шестнадцатеричный код на самом деле? Что означают странные и незнакомые на вид шестнадцатеричные числа? Как появилось шестнадцатеричное число? Узнайте больше о шестнадцатеричной системе счисления сегодня.

Что такое шестнадцатеричный?

Шестнадцатеричная система счисления использует шестнадцать символов (от 0 до 9 и от A до F) для формирования и представления любого числа. Шестнадцатеричная система используется в компьютерах и калькуляторах. Шестнадцатеричный формат часто сокращается до hex, а hex происходит от слова шестиугольник, то есть шесть. Вы можете сразу увидеть связь с hexa..decimal, так как десятичная дробь означает десять (10), а шестнадцатеричная — 6 (A-F, 6 символов).

Компьютеры часто используют шестнадцатеричные числа внутри своих внутренних вычислительных систем. Существует прямая связь между двоичными и восьмеричными числами и шестнадцатеричными числами. Чтобы узнать больше о шестнадцатеричной системе счисления с 16 основаниями (16 элементов основания, 16 чисел с основанием), нам нужно немного отступить назад и сначала изучить двоичную и восьмеричную систему счисления. Если вы раньше не слышали этих терминов, не волнуйтесь, это не так сложно, как кажется.

Что такое двоичный код?

Двоичные числа, особенно двоичная система счисления, — одна из самых, если не самая простая система счисления на планете. В двоичном формате существует только два возможных числа (отсюда и термин двоичный, т. е. состоящий из двух частей), а именно ноль (0) и единица (1). Хотя мы используем ноль и единицу для представления наших двух возможных чисел в этой системе, пожалуйста, поймите, что это всего лишь выбор — точно так же, как я использовал бы буквы латинского алфавита A-Z для представления слов на английском языке или иероглифы китайского языка для представления слов на китайском языке.

Таким образом, мы могли бы создать двоичный код, в котором использовались бы не ноль и единица, а А и В, или $и %, это не имеет большого значения. Однако здесь есть небольшое интересное предостережение, которое, по сути, упрощает использование нуля и единицы для двоичного кода; компьютеры понимают только одно: питание или отсутствие питания. Думайте об этом как о единице или нуле: единица означает +5 В (5 вольт), а ноль означает 0 В (0 вольт). Возможно, это немного упрощено, но это хорошая аналогия того, что происходит внутри компьютера. Таким образом, у нас есть двоичный код.

Так как же считать в двоичной системе счисления с двумя основаниями? Мы все знаем, как считать в десятичной системе счисления (десятичная система счисления, которую мы используем каждый день для всех наших выражений количества и т. д.), 0… 1… 2… 3…, но как мы это делаем? это когда мы даже не можем перейти от 1 к 2? Что произойдет, когда мы доберемся до 9 и нам нужно будет найти следующее число? Мы добавляем единицу впереди (первая цифра в 10) и сбрасываем нашу второстепенную позицию на 0. Продолжаем считать до 99, а затем делаем то же самое, хотя на этот раз мы сбрасываем две позиции.

Мы можем использовать тот же метод в нашем 2-основном двоичном вычислении, и это именно то, что мы делаем и как мы считаем. Вот так: 0… 1… 10… 11… 100… 101… 110… 111… 1000…. Не сложно, правда? Если вы еще не умели считать в двоичном формате, поздравляем, теперь вы знаете, как! Сегодня этому навыку обучают примерно в первом классе средней школы. Перейдем к восьмеричной.

Что такое окталь?

К настоящему времени мы обнаружили, что десятичная система счисления также может быть помечена как 10-Base, потому что она имеет 10 различных символов для выражения чисел (от 0 до 9), а 2-Base имеет только ноль и единицу. Теперь мы вводим восьмеричную, еще одну компьютерно-ориентированную систему счисления, которая имеет 8 возможных символов. Как вы уже догадались, от нуля (0) до семи (7). Вы можете начать понимать, почему существуют такие системы счисления: добро пожаловать во степень двойки: 2 (двоичная) > 4 (полбайта) > 8 (восьмеричная, байтовая) > 16 (шестнадцатеричная).

Итак, что такое байт? Байт состоит из восьми битов вместе (обычно визуально отображается как 2 набора по 4 бита, хотя для компьютера это просто 8 бит подряд), образующих один байт. Например, 0110 1100 — допустимый байт, состоящий из 8 бит. Это число можно преобразовать в восьмеричное (154), шестнадцатеричное (6C) и десятичное (108). Обратите внимание, что значения для большего количества базовых символов ниже, например 6C в шестнадцатеричной системе счисления по сравнению с длинным числом в десятичной системе, и число средней длины 154 в восьмеричной системе счисления. .

Байт часто используется для хранения простых буквенно-цифровых символов. Например, буква «А» записывается в двоичном виде как 0100 0001. Обратите внимание, что максимальное значение в байте (т. е. 1111 1111) равно 255, и, таким образом, существует только 256 возможных комбинаций (+1, поскольку 0 также является возможной настройкой), которые можно составить с помощью одного байта. Таким образом, наш ограниченный диапазон A-Z, даже включая цифры 0-9 и строчные буквы az, по-прежнему легко умещается в один байт, и мы даже можем представить некоторые другие символы, такие как «@» и «!».

Однако, когда речь идет, например, о китайском языке с его множеством различных символов, нам может потребоваться два или более байта для хранения наших отдельных символов, то есть многобайтовых символов.

Возвращаясь к восьмеричной системе, как считать в восьмеричной системе? Как вы уже догадались: тот же самый метод, просто циклический цикл каждого раунда как в десятичной, так и в двоичной системе, как мы видели. Давайте вместе посчитаем: 0… 1… 2… 3… 4… 5… 6… 7… 10… 11… – Выглядит немного странно, не так ли? Это потому, что наш разум так настроен думать о 10, ну, как о «10». Но 10 в восьмеричном — это 8 в десятичном. Сбивает с толку? Для нас, простых людей, да, восьмеричное число с основанием 8 может сбивать с толку. К компу не совсем.

Счет в шестнадцатеричном формате?

Это возвращает нас к счету в нашей системе счисления с 16 основаниями: шестнадцатеричной. Теперь мы знаем шаги, которые нужно выполнить, и можем считать (с небольшим пропуском от нуля до девяти): 0… перейти к… 9… A… B… C… D… E… F… 10… 11…. Теперь мы понимаем, что 10 в шестнадцатеричном виде, как и восьмеричное, имеет значение, отличное от того, что мы читаем в нем, поскольку мы считаем в шестнадцатеричном формате, который является 16-базовым, а не в десятичном, который является 10-базовым. 10 в шестнадцатеричном на самом деле 16 в десятичном!

Примечательно, что шестнадцатеричный формат именно потому, что он основан на 16, позволяет нам хранить целый байт в двух символах! Мы не можем сделать это с десятичным числом, так как двоичное значение 1111 1111 (т. е. 1111111 для компьютера) равно 255 в десятичном виде. Однако в шестнадцатеричном формате он может быть представлен как FF, что равно 255 в десятичном формате. Также обратите внимание, что полбайта, 4 бита, можно хранить в одном шестнадцатеричном символе.

Подведение итогов

Мы надеемся, что вам понравилось это знакомство с шестнадцатеричной системой счисления, нашей 16-символьной или 16-базовой системой счисления, и, в расширении, с двоичной системой счисления с 2 базами и восьмеричной системой счисления с 8 базами. Мы также узнали, как считать, что мы делаем каждый день в десятичной системе счисления, наша очень знакомая 10-базовая система счисления использует числа от 0 до 9.

Мы также увидели, что символы, которые мы используем для представления двоичных, восьмеричных, шестнадцатеричных и даже десятичных значений, являются именно такими: символы, которые человечество выбрало для представления этих различных систем счисления. Мы могли бы легко выбрать другие представления для других систем счисления, но повторное использование одних и тех же чисел кажется знакомым и имеет некоторый смысл, особенно в случае двоичного числа со степенью и без степени, представленной нулем и единицей.

Получите удовольствие, научив кого-нибудь считать в двоичной, восьмеричной или шестнадцатеричной системе счисления уже сегодня!

И, если вам понравилась эта статья, взгляните на биты, байты и двоичные файлы.