Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15, то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, PDP-11 или БЭСМ-6) использовали восьмеричную систему.
В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями).
Шестнадцатеричный цвет — запись трёх компонент цвета ( R, G и B ) в шестнадцатеричном виде.
Способы записи
В математике
В математике основание системы счисления принято указывать в десятичной системе в нижнем индексе. Например, десятичное число 1443 можно записать как 144310 или как 5A316.
В языках программирования
В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:
В Ада и VHDL такие числа указывают так: «16#5A3#».
В Си и языках схожего синтаксиса, например, в Java, используют префикс «0x». Например, «0x5A3».
В некоторых ассемблерах используют букву «h», которую ставят после числа. Например, «5A3h». При этом, если число начинается не с десятичной цифры, то для отличия от имён идентификаторов (например, констант) впереди ставится «0» (ноль): «0FFh» (25510)
Другие ассемблеры (ATh». Например, «border:2px»>
![]() ![]() |
![]() ![]() ![]() |
Применение шестнадцатеричной системы счисления в реальной жизни
Шестнадцатеричная система счисления
Основание этой системы счисления p равно шестнадцати. Эту систему счисления можно считать ещё одним вариантом записи двоичного числа. В этой системе счисления используется шестнадцать цифр. Здесь уже не хватает десяти цифр, поэтому приходится придумать недостающие шесть цифр.
Для обозначения этих цифр можно воспользоваться первыми буквами латинского алфавита. При записи шестнадцатеричного числа неважно буквы верхнего или нижнего регистра будут использоваться в качестве цифр. В качестве цифр в шестнадцатеричной системе используются символы 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Так как здесь появляются новые цифры, то приведём таблицу соответствия этих цифр десятичным значениям.
Таблица 6. Таблица соответствия шестнадцатеричных цифр десятичным значениям
Число в этой системе счисления записывается как сумма единиц, чисел шестнадцать, двести пятьдесят шесть и так далее. То есть веса соседних разрядов различаются в шестнадцать раз. Точно также записываются и числа, меньшие единицы. В этом случае разряды числа будут называться как шестнадцатые, двести пятьдесят шестые и так далее доли единицы.
Рассмотрим пример записи шестнадцатеричного числа:
A16=2AF,C416=2*16 2 +10*16 1 +15*16 0 +12*16 -1 +4*16 -2 = =51210+16010+1510+1210/1610+410/25410= 687,76562510
Из приведённых примеров записи чисел в различных системах счисления вполне очевидно, что для записи одного и того же числа с одинаковой точностью в разных системах счисления требуется различное количество разрядов. Чем больше основание системы счисления, тем меньшее количество разрядов требуется для записи одного и того же числа.
Достаточно часто требуется уметь переводить число из одной системы счисления в другую. Давайте научимся выполнять такое действие. Преобразование целых чисел и правильных дробей выполняется по разным правилам. В действительном числе преобразование целой и дробной части производят по отдельности.
Преобразование целых чисел
Для перевода необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). Полученное частное снова делим на основание системы и так до тех пор, пока частное не станет меньше основания новой системы счисления. Все операции выполняются в исходной системе счисления.
Рассмотрим для примера перевод числа из десятичной системы счисления в двоичную систему счисления.
Возьмём десятичное число А10 = 124 и поделим его на основание двоичной системы, то есть число 2. Деление будем производить уголком:
В результате первого деления получим разряд единиц (самый младший разряд). В результате второго деления получим разряд двоек. Деление продолжаем, пока результат деления больше двух. В конце операции преобразования мы получили двоичное число 11111002.
Теперь то же самое число переведём в восьмеричную систему счисления. Для этого число 12410 разделим на число 8:
Как мы видим, остаток от первого деления равен 4. То есть младший разряд восьмеричного числа содержит цифру 4. Остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. Старший разряд получился равным 1. То есть в результате многократного деления мы получили восьмеричное число 1748.
Проверим, не ошиблись ли мы в процессе преобразования? Для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
1×8 2 +7×8 1 +4×8 0 =6410+5610+410=124
;А можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? Можно! Но деление нужно произвести по правилам восьмеричной арифметики. Правила работы в восьмеричной системе счисления мы рассмотрим в следующей главе. Тем не менее, для полноты материала, рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. Разделим его на основание новой системы счисления 2.
Как мы убедились выполнять деление в восьмеричной системе очень неудобно, ведь подсознательно мы делим в десятичной системе счисления. Давайте обратим внимание на то, что число 8 является степенью числа 2. То есть можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. Это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=2 3 ). Давайте составим таблицу соответствия. Она приведена в таблице 1.
Таблица 1. Таблица соответствия восьмеричных цифр и двоичного кода
Перевод 16 –10
Для прямого перевода шестнадцатеричного числа в десятичную систему удобно пользоваться развернутой формой записи, когда число представляют в виде суммы, в которой слагаемые получаются путем умножения символа разряда (числа или числового эквивалента буквы) на 16 в степени соответствующего разряда.
Например, 1F4 = 1 * (16^2) + 15 * (16^1) + 4 * (16^0) = 256 + 240 + 4 = 500
Обратный перевод выполняется последовательным делением десятичного числа на 16 и взятия остатков от деления. Причем полученные остатки в диапазоне от 10 до 15 надо заменить соответствующей буквой.
Выполняя обратный перевод, следует помнить, что результирующее значение получают путем записи полученных от деления остатков в обратном порядке, начиная с последнего частного. Каждый остаток от деления должен получаться всегда меньше шестнадцати.
Например: 500 / 16 = 31 (остаток 4)
31 / 16 = 1 (остаток 15 заменяем на букву F)
Таким образом, получено шестнадцатеричное число 1F4.
Перевод 16 – 2
Для перевода шестнадцатеричного числа в десятичную систему каждую его цифру заменяют группой из четырех нулей и единиц, которую принято называть «тетрадой». Для перевода обычно пользуются таблицей соответствия шестнадцатеричных символов и двоичных тетрад.
Например, 1F4 = (0001)(1111)(0100).
Как перевести из шестнадцатеричной системы в десятичную
Перевести шестнадцатеричное число в привычное нам десятичное также совсем не сложно, более того, мы уже делали это в самом начале статьи, когда сравнивали двоичную, восьмеричную и шестнадцатеричную системы счислений, теперь же разберём этот процесс более подробно.
Давайте сразу приступим к примеру и переведём шестнадцатеричное число 1C3B3 в десятичную систему.
По сути, процесс перевода можно разделить на 2 этапа:
- Мы справа налево отделяем от числа все цифры и умножаем каждую из них на 16, и всё это складываем:
Также обязательно необходимо перевести буквенные обозначения шестнадцатеричной системы в числовые, чтобы можно было посчитать их в десятичном виде, то есть, для данного случая, перевести B в 11 и C в 12.
- После того, как мы сделали этот шаг, нам необходимо пронумеровать разряды чисел. Делается это просто – мы приписываем ко всем числам 16, на которые мы умножали наши исходные цифры, степени, начиная с нулевой:
Теперь нам остаётся только перемножить и сложить всё это:
Таким образом, мы превратили шестнадцатеричное число 1C3B3 в десятичное число 115 635.
Как видите, ничего сложного. Также у нас на сайте имеется статья, описывающая процесс перевода чисел из шестнадцатеричной системы в двоичную.
Спасибо за прочтение!
Системы счисления
Система счисления — это способ записи (представление) чисел с помощью определённого набора письменных знаков, называемых цифрами.
Основание системы счисления — это количество цифр, которые используются в данной системе счисления для записи чисел.
Системы счисления делятся на позиционные и непозиционные.
Позиционными называются такие системы счисления, в которых значение цифры зависит от её расположения в записи числа. В качестве примера позиционной системы счисления можно привести привычную для нас десятичную систему счисления. Например, в записи числа 2222 одна и та же цифра — 2 означает (последовательно справа налево) количество — единиц, десятков, сотен, тысяч.
Непозиционными называются такие системы счисления, в которых значение цифры не зависит от её расположения в записи числа. В качестве примера непозиционной системы счисления можно привести достаточно широко применяемую в настоящее время, римскую систему. Например, в записи числа CCC (триста) символ C в любом месте означает число сто.
Двоичная, восьмеричная и шестнадцатеричная
В двоичной системе счисления основание равно 2, то есть для записи чисел используется всего 2 цифры — 0 и 1.
В восьмеричной системе основание равно 8, используется 8 цифр — от 0 до 7.
В шестнадцатеричной системе основание равно 16, используется 16 цифр — от 0 до 15. Цифры от 10 до 15 условились обозначать латинскими буквами в алфавитном порядке: A (10), B (11), C (12), D (13), E (14), F (15).
Сравнение систем счисления
Существует несколько различных систем счисления, которые используются для представления чисел. Наиболее распространенными из них являются двоичная, восьмеричная и шестнадцатеричная системы счисления. Вот некоторые основные аспекты, которые можно использовать для сравнения этих систем:
Основание системы
Каждая система счисления имеет свое основание, которое определяет количество различных символов, используемых для представления чисел. В двоичной системе основание равно 2, в восьмеричной – 8, а в шестнадцатеричной – 16. Большее основание позволяет представлять больше чисел с меньшим количеством символов.
Количество символов
Количество символов, используемых в каждой системе счисления, зависит от ее основания. В двоичной системе используются только два символа – 0 и 1. В восьмеричной системе используются восемь символов – от 0 до 7. В шестнадцатеричной системе используются шестнадцать символов – от 0 до 9 и от A до F.
Представление чисел
Каждая система счисления имеет свои правила для представления чисел. В двоичной системе каждая цифра представляет степень двойки, начиная с нулевой степени. В восьмеричной системе каждая цифра представляет степень восьмерки, а в шестнадцатеричной – степень шестнадцати. Это позволяет представлять числа более компактно и удобно для определенных операций.
Преобразование чисел
Между различными системами счисления можно осуществлять преобразование чисел. Например, можно преобразовать число из двоичной системы в десятичную или из десятичной в шестнадцатеричную. Для этого используются определенные правила и алгоритмы, которые позволяют переводить числа из одной системы счисления в другую.
Применение в информатике
Каждая система счисления имеет свои преимущества и применение в информатике. Например, двоичная система широко используется для представления и работы с битами и байтами в компьютерах. Восьмеричная система удобна для представления больших чисел с меньшим количеством символов. Шестнадцатеричная система позволяет компактно представлять большие числа и удобно работать с цветами, адресами памяти и кодами символов.
В итоге, выбор системы счисления зависит от конкретной задачи и требований, которые нужно удовлетворить. Каждая система имеет свои особенности и применение, и важно уметь выбирать наиболее подходящую систему для решения конкретной задачи.
Преобразование чисел между системами счисления
Преобразование чисел между различными системами счисления является важной операцией в информатике. Это позволяет переводить числа из одной системы счисления в другую, что может быть полезно при работе с различными программами и устройствами.
Преобразование из десятичной системы в другие системы счисления
Для преобразования числа из десятичной системы счисления в другую систему счисления, необходимо последовательно делить число на основание новой системы счисления и записывать остатки от деления. Эти остатки будут цифрами нового числа в обратном порядке.
Например, для преобразования числа 42 из десятичной системы в двоичную систему счисления, мы делим 42 на 2 и получаем остаток 0. Затем делим полученное частное (21) на 2 и получаем остаток 1. Продолжаем делить и получаем остатки 1 и 0 для частных 10 и 5 соответственно. Записываем эти остатки в обратном порядке и получаем число 101010 в двоичной системе счисления.
Преобразование из других систем счисления в десятичную систему
Для преобразования числа из другой системы счисления в десятичную систему, необходимо умножить каждую цифру числа на соответствующую степень основания системы счисления и сложить полученные произведения.
Например, для преобразования числа 101010 из двоичной системы в десятичную систему счисления, мы умножаем каждую цифру числа на соответствующую степень двойки и складываем полученные произведения: 1 * 2^5 + 0 * 2^4 + 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0 = 32 + 0 + 8 + 0 + 2 + 0 = 42.
Преобразование между другими системами счисления
Для преобразования числа из одной системы счисления в другую, можно использовать промежуточный перевод через десятичную систему счисления. Сначала преобразуем число из исходной системы счисления в десятичную систему, а затем из десятичной системы в целевую систему счисления.
Например, для преобразования числа 101010 из двоичной системы в шестнадцатеричную систему счисления, мы сначала преобразуем его в десятичную систему (42), а затем из десятичной системы в шестнадцатеричную систему (2A).
Преобразование чисел между системами счисления является важным навыком в информатике и позволяет эффективно работать с различными программами и устройствами, которые используют разные системы счисления.
Подсчёт в шестнадцатеричной системе счисления
Это возвращает нас к счёту в нашей системе счисления с основанием 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-базовую числовую систему, а также в двоичную систему счисления с двумя базовыми числами и восьмеричную систему счисления с основанием числа 8. Мы также узнали, как мы ведём ежедневный счёт в десятичной системе счисления, в нашей очень знакомой десятичной системе счисления используются числа от 0 до 9.
Мы также увидели, что символы, которые мы используем для представления двоичных, восьмеричных, шестнадцатеричных и даже десятичных значений, — это всего лишь символы, которые человечество выбрало для представления этих различных систем счисления. Мы могли бы легко выбрать другие представления для других числовых систем, но повторное использование тех же чисел кажется знакомым и имеет некоторый смысл, особенно в случае двоичной системы «напряжение» и «отсутствие напряжение», представлены нулём и единицей.