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

В прошлой статье мы с Вами разбирали двоичную и двоично-десятичную систему счисления. С помощью калькулятора Windows мы переводили числа из двоичной системы в десятичную. Представьте себе, что нам надо перевести число из десятичной в двоичную систему счисления. Такое безобидное число, как 9999 в двоичной системе будет выглядеть уже как 10 0111 0000 1111. Не очень то и удобно, так ведь? С такими числами работает только компьютер и другие цифровые девайсы.

Если подробнее вдаваться в компьютерные системы, то комп даже на знает, что такое единичка, а что такое ноль. Это для нас понятно, что единичка — это «ДА» , «ИСТИНА», а ноль это — «НЕТ», «ЛОЖЬ». В компьютерах, микропроцессорах, микроконтроллерах да и во всех цифровых микросхемах используются другие понятия единицы и нуля. Напряжение есть и оно соответствует норме — это ЕДИНИЧКА, напряжение маленькое или его нет — это НОЛЬ. Именно так и оперируют цифровые микросхемы и вся сложнейшая цифровая электроника ;-). ЕДИНИЦА И НОЛЬ! 🙂

А вам слабо написать программу на единичках и нулях? Я думаю, это не под силу даже самому наяренному программеру в мире. Люди недолго думали и для удобства написания чисел придумали сначала восьмеричную систему счисления, а потом и шестнадцатеричную. Если помните, в двоичной системе счисления только два знака: 1 и 0. В десятичной — 10 знаков: 0 1 2 3 4 5 6 7 8 9, восьмеричной системе счисления используются только 8 знаков: 0 1 2 3 4 5 6 7. В шестнадцатеричной системе счисления знаков целых 16 штук! Чтобы не мудрить, взяли первые 9 знаков от десятичной системы счисления, а остальные от английского алфавита. Итого — 0 1 2 3 4 5 6 7 8 9 A B C D E F — ровненько 16 знаков.

12 недорогих наборов электроники для самостоятельной сборки и пайки

Моя личная подборка конструкторов с Aliexpress «сделай сам» для пайки от простых за 153 до 2500 рублей. Дочке 5 лет — надо приучать к паяльнику))) — пусть пока хотя-бы смотрит — переходи посмотреть, один светодиодный куб чего только стоит

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

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

Как же нам переводить числа из одной системы счисления в другую? Здесь все просто, следуем примеру из второй главы, где написано, как использовать калькулятор Windows для перевода чисел из десятичной системы в двоичную. С помощью этого калькулятора мы также можем переводить числа из десятичной системы счисления в двоичную, восьмеричную, шестнадцатеричную и обратно. Запускаем наш калькулятор, пишем от балды число «123» в десятичной системе счисления. Для этого ставим маркер на «Dec» и для красоты «1 байт».

Шестнадцатеричная система счисления. Урок 4

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

Для того, чтобы перевести это число в двоичную систему счисления, ставим маркер на «Bin» и получаем число «123» в двоичной системе счисления.

Для перевода в восьмеричную систему ставим маркер на «Oct».

Ну и для перевода в шестнадцатеричную систему ставим маркер на «Hex».

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

7ВС16 — значит число записано в шестнадцатеричной системе счисления

10112 — в двоичной системе

4578 — в восьмеричной системе

998510 — в десятеричной системе.

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

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

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

Шестнадцатеричная система (англ. — 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)
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010А
111011B
121100С
131101D
141110Е
151111F

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

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

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

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

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

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

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

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

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

  • #FF0000 будет самым чистым красным цветом — Максимум красного, 0 зеленого и 0 синего.
  • Черный это #000000 — ни красного, ни зеленого, ни синего.
  • Белый — это #FFFFFF — при смешении всех цветов.

Перевод 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).

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

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

  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

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

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

В качестве алфавита шестнадцатеричной системы счисления используются цифры от 0 до 9 и шесть первых латинских букв – A, B, C, D, E, F. При переводе в десятичную систему буквы заменяются числами 10, 11, 12, 13, 14, 15 соответственно.

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

Двоичное представление шестнадцатеричных чисел

10001100101 = 0100 1100 0101 = 4 C 5 = 4C5

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

Перевод из шестнадцатеричной системы счисления в десятичную выполняется аналогично переводу из двоичной и восьмеричной. Только здесь в качестве основания степени выступает число 16, а цифры от A до F заменяются десятичными числами от 10 до 15.

4C5 = 4 * 16 2 + 12 * 16 1 + 5 * 16 0 = 4 * 256 + 192 + 5 = 1221

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

FF16 = 15 * 16 1 + 15 * 16 0 = 240 + 15 = 25510

В двоичном представлении FF будет выглядеть как восьмиразрядное число 11111111. Наименьшей рабочей ячейкой компьютерной памяти является байт, который состоит из 8-ми битов. Каждый бит может быть в двух состояниях – «включено» и «выключено». Одному из них сопоставляют ноль, другому – единицу.

Следовательно, в одном байте можно сохранить любое двоичное число в диапазоне от 00000000 до 11111111. В десятичном представлении это числа от 0 до 255. В шестнадцатеричном – от 0 до FF. С помощью шестнадцатеричной системы счисления удобно кратко, с помощью двух цифр-знаков, записывать значения байтов. Например, 0E или F5.

Несмотря на то, что 25510 – это максимальное значение, которое можно сохранить в байте, состояний у 8-ми битного байта 256, так как одно из них отводится под хранение нуля. Количество возможных состояний ячейки памяти вычисляется по формуле 2 n , где n – количество составляющих ее бит. В случае восьми бит получаем:

Способ записи шестнадцатеричного кода.

Математический способ записи. В математической записи основание системы записывают в десятичном виде в нижнем индексе справа от числа. Десятичную запись числа 3032 можно записать как 303210, в шестнадцатеричной системе данное число будет иметь запись BD816.

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

* В C, C++ и схожих языках (Java) для этого используется префикс «0x», например: 0x0A0B;

* В синтаксисе некоторых разновидностей языка ассемблера используется латинская буква «h», которая ставится справа от числа, например: 20Dh. Если число начинается с латинской буквы, то перед ним ставится ноль, например: 0A0Bh. Это сделано для того, чтобы отличать от констант значения, использующие шестнадцатеричный код;

* В прочих разновидностях ассемблера, а также в Pascal (и его разновидностях, таких как Delphi) и некоторых диалектах Basic, применяют префикс «$»: $A15;

* В языке разметки HTML, а также в каскадных файлах CSS, для указания цвета в формате RGB с шестнадцатеричной системой записи, используется префикс «#»: #00DC00.

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

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

Двоичная СС

шестнадцатеричная СС

Арифметические операции в двоичной системе счисления

С числами в двоичной системе счисления можно выполнять такие-же арифметические операции, как и в десятичной системе:
— сложение
— вычитание
— умножение
— деление

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

Сложение двоичных чисел:
0+0 = 0
0+1 = 1
1+0 = 1
1+1 = 10 (при этом единица переносится в старший разряд)

Правила сложения двоичных чисел

Вычитание двоичных чисел:
0 – 0 = 0
1 – 0 = 1
1 – 1 = 0
10 – 1 = 1 (занимается 1 из старшего разряда, которая равна двум 1 младшего разряда)

Правила вычитания двоичных чисел

Умножение двоичных чисел:
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1

Правила умножения двоичных чисел

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

Деление двоичных чисел

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

Я не буду вам рассказывать как можно с помощью ручки и бумаги перевести любое число из одной системы счисления в другую. Об этом вы можете (при желании) почитать в популярной литературе по микроконтроллерам.

Самый простой способ перевода чисел из одной системы счисления в другую — калькулятор, который имеет так называемый «инженерный режим». Если у вас нет такого калькулятора, то всегда можно воспользоваться стандартным калькулятором «Windows» , переведя его в «инженерный режим» :

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

(17 голосов, оценка: 4,71 из 5)

Двоичная и шестнадцатиричная система счисления, арифметические операции в двоичной системе

Системы счисления: двоичная, шестнадцатиричная и их применение в микроконтроллерах, арифметические операции в двоичной системе

Комментарии

Двоичная и шестнадцатиричная системы счисления — 14 комментариев

Роман говорит 17.10.2022 в 20:21 :
Так же опечатка в двоичной системе 10 = 11010 — код 26., а не 10.
admin-new говорит 17.10.2022 в 20:54 :
Спасибо, исправил
Михаил говорит 07.10.2020 в 06:44 :

Ресурс мёртв, судя по всему, ибо автор, которому указали на серьёзные ошибки в его статье не потрудился их исправить. Это недопустимо в такой точной науке, тем более в обучающих материалах. Жаль, но ресурс придётся покинуть, т.к. доверие к материалу и автору пропало.

admin-new говорит 07.10.2020 в 21:25 :

Ресурс не мертв, сейчас на него статьи добавляются почти каждый день. Просто эта статья была добавлена предыдущим админом сайта, я сейчас впервые увидел по комментариям что в статье ошибки. Надеюсь, в ближайшее время у меня получится их исправить

admin-new говорит 15.10.2020 в 20:52 :
Исправил все указанные ошибки, ресурс жив
виктор говорит 14.01.2020 в 17:54 :
200-с8 не понял.Где не понял нашел в ответах
Александр говорит 13.12.2018 в 00:17 :

Доброго здравия! подскажите пожалуйста! Пытался всем мозгом из расчёта информации понять эти системы..но понимаю,что нужно конкретную литературу изучить именно на тему этих счислений,какую лучше литературу? это Математика или именно литература для программирования? И ещё вопрос,подскажите нет ли в Москве или московской области человека или кружка типа какого то) где именно обучают с душой Электронике и программированию в частности. я как и многие самоучка но мне часто не хватает именно человеческого разъяснения на пальцах именно задать вопросы,пробовал ходил на курсы но это какой то просто развод на деньги,оно бы и не жалко.. да было бы кому( Благодарю за внимание! С Уважением!!

Radiolub говорит 15.10.2018 в 12:40 :

Ещё одно исправление: на картинке «Двоичная система счисления» 50=10010 ! На самом деле 50=110010.

Большое спасибо!
Вроде и не раз перечитываешь статью, но свои ошибки, как и положенно по закону подлости, не видим.

admin-new говорит 15.10.2020 в 20:53 :

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

Евгений говорит 27.02.2017 в 18:51 :

здравствуйте,а почему в примере( шестнадцатеричная система исчисления) 100=1f4, а на самом деле 100=64?

Здравствуйте Евгений!
Вы правы, 100 это 64 в шестнадцатиричной системе.
На картинке ошибка.
С уважением, Admin.

Оцените статью
TutShema
Добавить комментарий