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

Дорогие друзья, спасибо всем, кто отписался в этой статье. Откровенно говоря, когда я её писал, то не задумывался о том, что она будет так популярна (самая популярная статья на этом сайте). Видимо в самом деле стоит дописать её, чтобы полнее осветить тему. Какие-то куски старой статьи останутся здесь без изменения, что-то я дополню, еще что-то — перепишу. Итак, приступим.

Всё не так страшно, как может показаться в самом начале, и начнем мы с привычной всем нам десятичной арифметики. Во втором классе средней школы нас учили, например, что число 136, это — 100 + 30 + 6.

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

  1. В десятичной системе счисления всего десять цифр (чисел, записываемых одним символом) — от 0 до 9.
  2. Число десять — первое число, которое нельзя записать одной цифрой.
  3. Число десять является основанием десятичной системы счисления.

Поясню эти правила. С первым всё понятно. Второе: действительно, когда все числа из одной цифры исчерпаны, принято составлять числа из двух и более знаков (цифр): 10, 11, 12 и т. д. Чтобы проиллюстрировать третье правило, давайте вспомним о степенях — это сведения математики пятого класса средней школы. Чтобы возвести число А в степень х, необходимо число А умножить само на себя и множителей должно быть x штук. При этом А называется основанием степени, а х — показателем, записывается как А х Вспомним ещё одно правило: любое число А в нулевой степени равно единице, то есть А 0 = 1.

Теперь вернемся к нашему первому примеру — числу 136. Используя только что восстановленные в сознании правила, его можно записать так: 136 = 100 + 30 + 6 = 1×10 2 + 3×10 1 + 6×10 0 .

Разряды чисел принято нумеровать справа налево и начинать при этом с нуля. Эти числа соответствуют показателям степеней, в которые надо возвести десятку в только что показанной записи. Приведем еще один пример — число 1375: 1375 = 1000 + 300 +70 + 5 = 1×10 3 + 3×10 2 + 7×10 1 + 5×10 0 .

Понятно, что таким способом можно расписать любое целое десятичное число.

Настало время перейти к шестнадцатеричной системе счисления. Она тоже является позиционной, то есть цифры означают в ней разные числа в зависимости от разряда, в котором находятся. Шестнадцатеричная арифметика тоже подчиняется трём правилам, но они немного изменены для неё.

  1. В шестнадцатеричной системе счисления 16 цифр (чисел, которые можно записать одним символом). Это цифры от 0 до 9 и первые шесть символов латинского алфавита — A, B, C, D, E, F. Можно при записи использовать и прописные буквы a, b, c, d, e, f. Все эти цифры соответствуют десятичным числам от нуля до 15.
  2. Число, которое соответствует десятичному 16 — первое, которое нельзя записать одной цифрой. Проиллюстрируем это рядами чисел:

Таблица 1. Соответствие десятичных чисел шестнадцатеричным

Шестнадцатеричная система счисления | Информатика 8 класс #5 | Инфоурок

Десятичные012345678910111213141516
Шестнадцатеричные0123456789abcdef10
10-ная система 16-ная система
00
11
22
33
44
55
66
77
88
99
10a
11b
12c
13d
14e
15f
1610

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

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

Как, например, понять, чему равно шестнадцатеричное число FF? Распишем его по известному нам правилу. Вместо десятки подставим 16, а шестнадцатеричную цифру F заменим соответствующим ей десятичным числом 15. Итак: FF = F×16 1 + F×16 0 = 15×16 1 + 15×16 0 = 15×16 + 15 = 255.

Попробуем с другим числом, например, 1F5: 1F5 = 1×16 2 + F×16 1 + 5×16 0 = 16 2 + 15×16 + 5 = 501.

Подобная запись является правилом перевода шестнадцатеричных чисел в привычные нам десятичные. А можно ли десятичное число перевести в шестнадцатеричное? Конечно, да. Но, чтобы избежать путаницы, будем десятичные числа писать как прежде, а перед шестнадцатеричными числами будем ставить префикс «0x», что повсеместно принято для записи таких чисел в компьютере.

Как перевести десятичное число в шестнадцатеричное?

Чтобы перевести десятичное число в шестнадцатеричное, необходимо выполнить следующие действия:

  1. Проверяем, не меньше ли 16 наше число: если да, то результат достигнут. Действительно, такое десятичное число необходимо лишь заменить соответствующей ему шестнадцатеричной цифрой из таблицы 1. Если же наше десятичное число больше 16, переходим к шагу 2.
  2. Делим наше число НАЦЕЛО на 16 и запоминаем целочисленный остаток от этого деления. Результат этого деления снова сравниваем с 16. Если результат деления меньше 16, то его стоит тоже запомнить как последний из остатков.
  3. Шаг 2 повторяем до тех пор, пока результат деления не будет меньше 16. Целочисленные остатки на всех этапах запоминаем. Они понадобятся в шаге 4.
  4. Все остатки записываем в обратном порядке и заменяем в них числа от 10 до 15 шестнадцатеричными цифрами от a до f.

Проиллюстрируем эти правила примером.

Переведем десятичное число 89 в шестнадцатеричное. Оно больше 16, поэтому разделим его на 16. Частное равно 5 и 9 в остатке. 5 меньше 16, значит, деление прекращается и 5 запомним как последний остаток. То есть у нас есть два остатка: 9 и 5. Теперь их надо записать в обратном порядке, получаем: 89 = 0×59.

Проверим, действительно ли 0×59 равно 89? Распишем его по привычной уже схеме: 0×59 = 5×16 1 + 9×16 0 = 5×16 + 9 = 89.

Действительно, получилось. Но в выбранном мной примере число 89 очень быстро закончилось, если так можно сказать. В противном случае деление потребовалось бы продолжить. Покажем это на более сложном примере. Возьмем число 3728: 3728 / 16 = 233 и 0 в остатке. Затем 233 / 16 = 14 и 9 в остатке. Результат этого деления равен 14, он меньше 16. Деление заканчиваем и запоминаем этот результат деления как последний остаток. Нам осталось лишь записать эти остатки в обратном порядке и заменить десятичное число 14 на шестнадцатеричную цифру E. Итак, искомое число 0xE90.

В качестве домашнего задания можете перевести это число в десятичное и проверить, действительно ли 0xE90 равно 3728?

На этом месте статья заканчивалась, я решил ее несколько дополнить. Продолжаем.

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

Итак, шестнадцатеричная система счисления, как следует из названия, имеет в своём основании число 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 будет буквой Е.

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

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

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

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

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

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

Шестнадцатеричная система (англ. — 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 — при смешении всех цветов.

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

В прошлой статье мы с Вами разбирали двоичную и двоично-десятичную систему счисления. С помощью калькулятора 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 байт».

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

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

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

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

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

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

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

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

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

Шестнадцатеричное сложение

Следующая таблица шестнадцатеричного сложения очень поможет вам справиться с шестнадцатеричным сложением.

Чтобы использовать эту таблицу, просто следуйте инструкциям, использованным в этом примере — сложите A 16 и 5 16 . Найдите A в столбце X, затем найдите 5 в столбце Y. Точка в области «сумма», где пересекаются эти два столбца, представляет собой сумму двух чисел.

A16 + 516 = F16.

Пример — Дополнение

Шестнадцатеричное вычитание

Вычитание шестнадцатеричных чисел осуществляется по тем же правилам, что и вычитание чисел в любой другой системе счисления. Единственная вариация — заимствованное количество. В десятичной системе вы заимствуете группу из 10 10 . В двоичной системе вы заимствуете группу из 2 10 . В шестнадцатеричной системе вы заимствуете группу из 16 10 .

Пример — вычитание

Japanese Spanish German French Thai Portuguese Russian Vietnamese Italian Korean Turkish Indonesian Polish Hindi

Ресурсы компьютерной организации

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

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

Самый простой способ перевода чисел из одной системы счисления в другую — калькулятор, который имеет так называемый «инженерный режим». Если у вас нет такого калькулятора, то всегда можно воспользоваться стандартным калькулятором «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.

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

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

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

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

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

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

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

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

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

Двоичная СС

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

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