Что такое шестнадцатеричная система счисления
Перейти к содержимому

Что такое шестнадцатеричная система счисления

  • автор:

Шестнадцатеричная система счисления

Шестнадцатеричная система счисления — это позиционная целочисленная система счисления с основанием 16. Является одной из самых популярных в информатике, наряду с двоичной, восьмеричной и десятичной.

Немного истории

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

Кроме этого, единица измерения информации — бит. В компьютерах, информация передается при помощи байтов. 1 байт = 8 бит. Машинное слово — это минимальная единица данных, состоящая из двух байт (16 бит). Таким образом, для записи команд удобно использовать именно шестнадцатеричную систему.

Применение шестнадцатеричной системы счисления

Шестнадцатеричная система, как и восьмеричная активно применяется в компьютерных технологиях. При этом, запись чисел гораздо компактнее. В отличии от восьмеричной, которая за годы развития информатики — устарела, шестнадцатеричная — применяется в следующих областях:

  1. Низкоуровневое программирование (к примеру, ассемблер).
  2. Стандарт Юникод.
  3. Шестнадцатеричный цвет (RGB).
  4. Запись кодов ошибок.
  5. Представление данных в малоразрядных ЭВМ.

Основание и алфавит

Шестнадцатеричная система — это традиционная система счисления с основанием 16. Алфавит состоит их цифр от 0 до 9 и латинских букв от A до F . Латинские буквы представляют собой десятичные числа от 10 до 15.

Развернутая форма записи числа будет выглядеть следующим образом:

3BD16=3 ∙ 16 2 + B ∙ 16 1 + D ∙ 16 0 = 3 ∙ 256 + 11 ∙ 16 + 13 ∙ 1 = 768 + 176 + 13 = 95710

Шестнадцатеричная система счисления

Шестнадцатеричная система счисления

Познавательное

Шестнадцатеричная система (англ. — Hexadecimal system ) — это базовая система счисления с снованием 16. Она, наряду с десятичной и двоичной, является одной из наиболее часто встречающихся систем счисления в мире электроники и программирования. Важно понимать, как она работает, потому что во многих случаях имеет смысл представлять число в ней, а не в двоичной или десятичной.

Шестнадцатеричная система счисления — позиционная система счисления по основанию 16.

Википедия

Существует 16 возможных цифр, которые используют для представления чисел. 10 числовых значений, которые вы привыкли видеть в десятичных числах: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9; эти значения по-прежнему представляют то же значение, что и в десятичной системе. Остальные шесть цифр представлены как A, B, C, D, E и F, которые соответствуют числам 10, 11, 12, 13, 14 и 15.

Возможно, Вы столкнетесь с представлением чисел от 10 до 15 в верхнем и нижнем регистрах. Оба варианта считаются верными. Например, A3F — это то же число, что и a3f.

Эта таблица показывает какой шестнадцатеричной цифре эквивалентно значение в десятичном и двоичном формате.

Десятичный (основание 10) Двоичный (основание 2) Шестнадцатеричный (основание 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
10 1010 А
11 1011 B
12 1100 С
13 1101 D
14 1110 Е
15 1111 F

таблица 16 ричной системы счисления

Перевод из шестнадцатеричной системы и в нее

перевод в шестнадцатеричную систему счисления

Преобразование из десятичной в шестнадцатеричную систему и обратно

Чтобы перевести десятичное число в шестнадцатеричное, нужно следовать простому алгоритму преобразования:

  1. Делим десятичное число на 16.
  2. Записываем остаток и переводим его в шестнадцатеричный формат.
  3. Делим результат прошлого действия снова на 16.
  4. Повторяем, пока в результате мы не получим 0.
  5. Переписываем записанные остатки в обратном порядке.
  6. Пример:

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

Переведем шестнадцатеричное число 5EB в десятеричную систему

5EB = (5 × 16²) + (14 × 16¹) + (11 × 16⁰) = 1515

Преобразование из двоичной в шестнадцатеричную систему и обратно

Чтобы перевести двоичное число в шестнадцатеричное, нужно разделить его на группы по 4 цифры и заменить каждую группу на эквивалент из таблицы

Переведем двоичное число 1010000011111 в шестнадцатеричную систему

Для этого разбиваем число на группу по 4 цифры: 0001 0100 0001 1111

0001 = 1; 0100 = 4; 0001 = 1; 1111 = F

Чтобы сделать обратное преобразование, нужно просто каждую цифру шестнадцатеричного числа заменить на эквивалент по таблице

Переведем шестнадцатеричное число 141F в двоичную систему

1= 0001; 4 = 0100; 1 = 0001; F = 1111

Использование шестнадцатеричной системы

По большей части, шестнадцатеричные коды используются во многих областях вычислительной техники для сокращения двоичного кода до более понятной формы. Шестнадцатеричный код переводится в двоичный для использования на компьютере. Вот некоторые примеры использования шестнадцатеричного кода:

  • Ссылки на цвета в HTML и CSS
  • Язык ассемблера
  • Сообщения об ошибках

Цвета

буквы в шестнадцатеричной системе счисления

Hex система счисления может использоваться для представления цветов на сайтах и в программах редактирования изображений в формате #RRGGBB (# = показатель того, что число было записано в шестнадцатеричном формате, RR = красный, GG = зеленый, BB = синий). Этот система использует две шестнадцатеричных цифры для каждого цвета, например, #AA3300.

Как одна шестнадцатеричная цифра представляет 4 бита, так две шестнадцатеричные цифры вместе составляют 8 бит (1 байт). Значения для каждого цвета находятся в диапазоне от 00 до FF. В двоичной системе, 00 — это 00000000, а FF — это 11111111. Это дает 256 возможных значений для каждого из трех цветов (256 красных х 256 зеленых х 256 синих), а в сумме это больше 16 миллион цветов.

Шестнадцатеричная система счисления

Шаблон:Системы счисления Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16.

Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 1010 до 1510, то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).

Содержание

Применение [ ]

Широко используется в низкоуровневом программировании и компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный БЭСМ-6 ) использовали восьмеричную систему .

В стандарте Шестнадцатеричный цвет — запись трёх компонент цвета (R, G и B) в шестнадцатеричном виде.

Способы записи [ ]

В математике [ ]

В математике основание системы счисления принято указывать в десятичной системе в нижнем индексе. Например, десятичное число 1443 можно записать как 144310 или как 5A316.

В языках программирования [ ]

В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:

  • В Java, используют префикс «0x». Например, «0x5A3».
  • В некоторых ассемблерах используют букву «h», которую ставят после числа. Например, «5A3h». При этом, если число начинается не с десятичной цифры, то для отличия от имён идентификаторов (например, Turbo Basic , используют для указания шестнадцатеричных цифр сочетание «&h» или «&H» перед числом. Например, «&h5A3».
  • В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как 0xCC, где CC — шестнадцатеричный код символа.

В электронных калькуляторах [ ]

Перевод чисел из одной системы счисления в другую [ ]

Перевод чисел из шестнадцатеричной системы в десятичную [ ]

Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.

Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:

5A316 = 3·16 0 +10·16 1 +5·16 2 =
= 3·1+10·16+5·256 = 3+160+1280 = 144310

Перевод чисел из двоичной системы в шестнадцатеричную и наоборот [ ]

Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на Таблица перевода чисел [ ]

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Шестнадцатеричная система счисления

Системы счисления – одна из самых главных основ информатики. Практически ни в одной школе и ни в одном университете не пропускают данную тему, но зачастую именно с переводом шестнадцатеричной системы у многих возникают проблемы, хотя это не такая уж сложная задача, и её перевод практически не отличается от других систем счисления.

Давайте рассмотрим эту систему поподробнее.

Для чего нужна шестнадцатеричная система

Итак, шестнадцатеричная система счисления, как следует из названия, имеет в своём основании число 16. Почему так? Дело в том, что единица информации в информатике – это бит. Восемь бит образуют байт. Также информационной среде существует такое понятие, как машинное слово – это минимальная единица данных, представляющая собой шестнадцать бит, то есть два байта. Считается, что машинное слово – это минимальная величина разрядности регистров процессора, при которой можно работать с ЭВМ.
Так вот, как мы знаем, компьютер работает на двоичном коде. Однако, если Вы когда-нибудь переводили числа из двоичной системы в десятичную, то замечали, что в ней бывает довольно много разрядов, особенно при переводе больших чисел, например, перевод числа 5132 в двоичной системе будет записано так:

Перевод из десятичной системы счисления в двоичную

Как можно увидеть, при переводе в двоичную систему этого числа у нас получилось аж 13 разрядов (с 0 до 12). Довольно муторно, а главное, занимает много места на письме и отнимает много времени для перевода.
Именно для этого придумали восьмеричную и шестнадцатеричную системы счисления, для этого придумали и байты. Эти системы помогают сократить затраты на перевод чисел и привести их к более приятному визуальному виду.
Если перевести то же число 5132 в восьмеричную систему счисления, то получится «более сокращённая версия» двоичного кода:

Перевод из десятичной системы счисления в восьмеричную

Как мы видим, количество символов сократилось, так как разрядность уменьшилась до 5 (с 0 до 4).
Как можно уже понять, шестнадцатеричная система ещё сильнее сокращает разрядность (с 0 до 3) и ещё сильнее сжимает на письме переведённое число:

Перевод из десятичной системы счисления в шестнадцатеричную

Человеку такой вид записи в любом случае удобнее, чем бесконечные нули и единицы.

Таким образом, шестнадцатеричная система используется довольно широко в современных информационных системах. Например, при помощи неё указываются коды цветовых схем, данная система используется для записи кодов ошибок, а также для программирования на языках низкого уровня типа Ассемблера, шестнадцатеричную систему зачастую используют для предоставления данных и адресов в малоразрядных ЭВМ.

Как перевести из десятичной системы в шестнадцатеричную

Выше мы уже немного затронули процесс перевода чисел. Теперь мы рассмотрим его подробнее и на примерах.

Но прежде чем начать, надо узнать одну очень важную особенность шестнадцатеричной системы.

Так как система имеет своим основанием число 16, то, следовательно, всего в этой системе имеется 16 цифр, но если первые десять цифр (0-9) вполне привычные для нас, то остальные имеют вид не совсем цифровой, но, тем не менее, являются цифрами, а именно значения A, B, C, D, E, F, которые соответствуют нашим привычным числам с 10 до 15. Все цифры шестнадцатеричной системы и их «аналоги» в десятичной записаны в таблице ниже.

Таблица десятичных и шестнадцатеричных чисел

Итак, допустим, у нас есть число 40 563 в десятичной системе счисления. Переведём его в шестнадцатеричную.

  1. Сначала мы просто делим наше исходное число 40 563 на 16 в столбик. В частном у нас получилось 2 535, если умножить это число на 16, то получится 40 560, а в остатке 3. Эту тройку мы выделяем.

Перевод из десятичной системы счисления в шестнадцатеричную

  1. Теперь мы делим 2 535, и тоже на 16, и тоже абсолютно таким же образом. Частное – 158, 16*158 = 2 528, а в остатке 7. Остаток так же, как и в тот раз, выделяем.

Перевод из десятичной системы счисления в шестнадцатеричную

  1. Делим полученные частные до тех пор, пока они не станут меньше 16 , тогда деление заканчивается. Делим 158 на 16, и находим остаток от этого деления.

Перевод из десятичной системы счисления в шестнадцатеричную

Остаток от деления – 14, а частное, полученное при делении 158 на 16 равно 9. Так как 9 меньше 16, то процесс вычислений закончен, а 9 также выделяется.

  1. Процесс преобразования десятичного числа в шестнадцатеричное почти окончен. Для того, чтобы получить его, надо всего лишь выписать выделенные числа справа налево (т.е. в данном случае от девятки к тройке), НО, как мы писали выше, у шестнадцатеричной системы свой особый «алфавит» с 10 по 15. И как раз один из наших «остатков» (число 14) вписывается в этот диапазон, поэтому надо посмотреть в таблице, либо просто самостоятельно посчитать, что в шестнадцатеричной системе 14 будет буквой Е.

Итого весь процесс преобразования приведён на следующем изображении:

Перевод из десятичной системы счисления в шестнадцатеричную

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

Как перевести из шестнадцатеричной системы в десятичную

Перевести шестнадцатеричное число в привычное нам десятичное также совсем не сложно, более того, мы уже делали это в самом начале статьи, когда сравнивали двоичную, восьмеричную и шестнадцатеричную системы счислений, теперь же разберём этот процесс более подробно.
Давайте сразу приступим к примеру и переведём шестнадцатеричное число 1C3B3 в десятичную систему.
По сути, процесс перевода можно разделить на 2 этапа:

  1. Мы справа налево отделяем от числа все цифры и умножаем каждую из них на 16, и всё это складываем:

Перевод из шестнадцатеричной системы счисления в десятичную

Также обязательно необходимо перевести буквенные обозначения шестнадцатеричной системы в числовые, чтобы можно было посчитать их в десятичном виде, то есть, для данного случая, перевести B в 11 и C в 12.

  1. После того, как мы сделали этот шаг, нам необходимо пронумеровать разряды чисел. Делается это просто – мы приписываем ко всем числам 16, на которые мы умножали наши исходные цифры, степени, начиная с нулевой:

Перевод из шестнадцатеричной системы счисления в десятичную

Теперь нам остаётся только перемножить и сложить всё это:

Перевод из шестнадцатеричной системы счисления в десятичную

Таким образом, мы превратили шестнадцатеричное число 1C3B3 в десятичное число 115 635.

Как видите, ничего сложного. Также у нас на сайте имеется статья, описывающая процесс перевода чисел из шестнадцатеричной системы в двоичную.
Спасибо за прочтение!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *