Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шестнадцатеричный код — алгоритмы перевода и примеры преобразований чисел

Шестнадцатеричный код — алгоритмы перевода и примеры преобразований чисел

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

Система счисления — метод символьного типа для записи чисел с помощью определенных знаков. Последние записываются посредством чисел и цифр. Однако не все понимают логического смысла последних терминов. Числом называется некоторая абстрактное значение, характеризующее количественные характеристики какой-либо величины, явления или процесса. Цифра является знаком, который необходим для записи числа.

Цифры бывают 2 видов: арабскими и римскими. Первые являются самыми распространенными. Они представлены знаковым интервалом от 0 до 9. Чисел больше, и поэтому используется набор цифр. Для этого и были придуманы системы исчисления. Они делятся на четыре группы:

Шестнадцатеричный код расшифровка

  1. Позиционные.
  2. Непозиционные.
  3. Смешанные.
  4. Унарные.

К первой группе относятся все разрядные системы, в которых положение и порядок знака играет важную роль. От этого зависит значение величины. Если изменить положение цифр, то число изменится.

Во втором случае простым примером является массив данных с параметром «ключ — значение». Например, массив ассоциативного типа состоит из 3 элементов: ‘login’ -> ‘Ivan10’, ‘pass’ -> ‘12345’ и ‘name’ -> ‘Иван’. В этом случае данные можно менять местами, поскольку логика сохранится.

Смешанной является система, в которой присутствуют данные позиционной и непозиционной групп.Простой пример — деньги. Существуют два типа денежных знаков: монеты и купюры. Например, техника стоит 5250 рублей 50 копеек.

Для получения данной суммы следует использовать некоторое количество купюр и монет: 5250,50 = (5000 + 200 + 50) рублей + 50 копеек.

Унарной называется единичная система с одной цифрой. Последняя может быть представлена в виде 1, черты, креста и любого целого значения. Иными словами, каждый знак соответствует 1. Например, запись «1111111» эквивалентна «|||||||». Если расшифровать ее, то получится число 7. В книге Даниэля Дефо «Робинзон Крузо» герой применял данную систему для подсчета дней, проведенных на острове. Детей обучают математике на начальном уровне с помощью счетных палочек. Если вспомнить историю, то древние люди тоже пользовались унарным счислением.

Позиционные системы в программировании

Наиболее востребованными в IT-сфере являются двоичный и шестнадцатеричный коды. Они применяются для перевода десятичной системы счисления, которая понятна человеку, в машинный язык. Двоичная состоит из двух переменных, которые принимают единичное (1) или нулевое (0) значения. Это очень просто реализовать в электронике и микросхемотехнике.

Шестнадцатеричный код использование

Микропроцессор персонального компьютера является микросхемой. Она состоит из множества транзисторов, способных кодировать 0 и 1. Схему соединения полупроводниковых приборов составляют так, чтобы они имели два состояния (открыт и закрыт). Кроме того, реализация двоичной системы может быть выполнена в любом устройстве, которое потребляет электрический ток. Наличие кодируется как 1, а отсутствие — 0.

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

Работа с двоичным кодом

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

Для преобразования IT-специалисты предлагают 3 метода:

  • деление с отсечением остатка;
  • представление в виде степеней двойки;
  • автоматизированный.

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

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

Деление с отсечением остатка

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

Шестнадцатеричный код для чего нужен

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

Перевод числа из десятичной в двоичную осуществляется по такому алгоритму:

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

Для наглядного примера стоит применить алгоритм на практике.

Для перевода числа 13 нужно выполнить следующие шаги:

Программирование

  1. Число 13 является нечетным.
  2. Первый элемент: 13 / 2 = 6 (остаток равен 1).
  3. Второй: 6 / 2 = 3 (0).
  4. Третий: 3 / 2 = 1 (1).
  5. Четвертый: остаток 1.
  6. Результат: [1011]<2>.
  7. При проверке результаты совпадают.

Нужно обратить внимание на форму записи в 6 пункте.

Таким способом правильно записывается число в системах счисления.

Можно применять также вместо <2>нижний индекс, указывающий искомую систему.

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

Если ничего нет под рукой, то можно произвести возведение в степень. Это делается следующим образом: [1011] <2>= 2 3 + 0 + 2 1 + 2 0 = 8 + 0 + 2 + 1 = [13]<10>.

Степенной метод

Для реализации этого метода необходимо воспользоваться таблицей степеней двойки (табл. 1). Ее можно составить самостоятельно или скачать из интернета. Суть метода сводится также к вычислениям и подборам значений.

Показатель степени, nРезультат возведения
1
12
24
38
416
532
664

Таблица 1. Степень двойки до 6 и ее значения.

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

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

  1. Записать число.
  2. Определить интервал, в который оно входит.
  3. Найти максимальное значение степени, которое должно быть меньше искомого числа.
  4. Записать 1.
  5. Вычесть от числа в первом пункте значение, полученное в пункте 3.
  6. Повторить процедуру 5 шага до получения минимального значения.
  7. Записать число в двоичной системе.
  8. Выполнить проверку.

Для проверки рекомендуется воспользоваться специальным калькулятором или выполнить сложение всех значений степеней. Для примера можно рассмотреть конвертацию числа 118 в двоичный код. Операция выполняется таким образом:

  1. Число 118 превышает значение, указанное в таблице 1. Следовательно, ее нужно расширить, добавив 2 7 = 128.
  2. Для искомого числа выполняется неравенство 2 6 < 118 < 2 7 . Нужно брать величину 2 6 = 64.
  3. Первая цифра двоичного кода: 1. Остаток: 118 — 64 = 54.
  4. Вторая: 1. Остаток: 54 — 2 5 = 54 — 32 = 22.
  5. Третья: 1 (22 — 2 4 = 22 — 16 = 6).
  6. Четвертая: 0, поскольку 6 < 2 3 . Следовательно, берется другая степень.
  7. Пятая: 1 (6 — 2 2 = 6 — 4 = 2).
  8. Шестая: 1 (2 — 2 1 = 0).
  9. Седьмая: 0, поскольку остаток равен 0.
  10. Запись в двоичном коде: [1110110]<2>.

Чтобы проверить в ручном режиме, нужно произвести обратные вычисления: 2 6 + 2 5 + 2 4 + 0 + 2 2 + 2 1 + 0 = [118]<10>.

Шестнадцатеричный формат

Осуществить конвертацию из десятичного в шестнадцатеричный код (HEX — hexadecimal) можно только с использованием программ. Ручной метод основан на двойной конвертации. Для его реализации нужно перевести число, записанное в десятичной системе, в двоичный код, а затем в шестнадцатеричный.

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

Основанием является целочисленное значение, равное 16. Система состоит из арабских цифр от 0 до 9, а также букв, обозначающих конкретные значения: А = 10, В = 11, С = 12, D = 13, Е = 14 и F = 15. В автоматизированном режиме можно воспользоваться переводчиком шестнадцатеричного кода.

Необходимо отметить, что HEX применяется также в низкоуровневом программировании. Выбор этой системы счисления основан на решении в компьютерной технике применять такую единицу информации, как байт (состоит из 8 битов). Его удобно записывать двумя HEX-цифрами (от 0 до 255, т. е. #00 до #FF). Кроме того, шестнадцатеричный код в текст также конвертируется. Примером этому является кодировка Юникод, в которой для записи символа применяются четыре HEX-цифры. Цвет RGB-формата графического изображения также записывается с его помощью.

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

Существует несколько форм записи числа, представленного в HEX. Математическая форма выглядит таким образом: [DF5]<16>. Можно также найти запись, в которой вместо <16>стоит нижний индекс. Она применяется в информатике.

Запись отличается в языках программирования, поскольку у каждого из них различный синтаксис и правила написания кода. Основные формы представления HEX следующие:

 шестнадцатеричный код переводчик

  • В С, С++ и похожих применяется префикс «0х».
  • В Ассемблере после числа ставится латинская буква «h».
  • В Pascal, Delfi, Basic используется символ «$».
  • В HTML и CSS — «#».
  • В Python — «0х».

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

Алгоритм конвертации

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

Виды кодов в программировании

  1. Выполнить конвертацию десятичной формы записи в двоичную по любому алгоритму.
  2. Распределить знаки на тетрады (по 4 штуки или четверичные группы). Если в какой-то группе их количество меньше 4, то дописывается в начале 0.
  3. Записать значения для каждой тетрады.
  4. Проверить результат.

Операции умножения, сложения, вычитания и деления сложны.

Они осуществляются только с помощью специальных программ или онлайн-сервисов.

Не следует путать четверичные с троичными группами, которые используются в восьмеричном коде.

Например, нужно перевести 118 в HEX-код.

Для этого следует воспользоваться описанным алгоритмом:

  1. Степенной метод, описанный выше: [118] <10>= [1110110]<2>.
  2. Распределение символов на тетрады (в старшем разряде нужно дописать 0): 0111 0110.
  3. Первое значение: 0 + 2 2 + 2 1 + 2 0 = 0 + 4 + 2 + 1 = [7]<16>.
  4. Второе: 0 + 2 2 + 2 1 + 0 = [6]<16>.
  5. Результат: [76]<16>.

В некоторых случаях нужно использовать буквы. Например, для перевода числа [11110111] <2>в HEX-код нужно также воспользоваться алгоритмом, разбивая его на тетрады следующим образом: 1111 0111. Первая группа равна 2 3 + 2 2 + 2 1 + 2 0 = [15] <10>= F<16>, а вторая — 0 + 2 2 + 2 1 + 2 0 = 7. Результирующая запись имеет такой вид: [11110111] <2>= [F7]<16>.

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

Методы перевода десятичного числа в двоичное

Методы перевода десятичного числа в двоичное

В одном из наших материалов мы рассмотрели определение двоичного числа. Оно имеет самый короткий алфавит. Только две цифры: 0 и 1. Примеры алфавитов позиционных систем счисления приведены в таблице.

Позиционные системы счисления

Название системы

Основание

Алфавит

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

Таблица перевода десятичных чисел от 0 до 20 в двоичную систему счисления.

десятичное

число

двоичное число

десятичное

число

двоичное число

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

Как сделать перевод из одной системы счисления в другую? В информатике существует несколько простых способов перевода десятичных чисел в двоичные числа. Рассмотрим два из них.

Способ №1.

Допустим, требуется перевести число 637 десятичной системы в двоичную систему.

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

В нашем случае это 9, т.к. 2 9 =512, а 2 10 =1024, что больше нашего начального числа. Таким образом, мы получили число разрядов результата. Оно равно 9+1=10. Значит, результат будет иметь вид 1ххххххххх, где вместо х может стоять 1 или 0.

Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 637-2 9 =125. Затем сравниваем с числом 2 8 =256. Так как 125 меньше 256, то девятый разряд будет 0, т.е. результат уже примет вид 10хххххххх.

2 7 =128 > 125, значит и восьмой разряд будет нулём.

2 6 =64, то седьмой разряд равен 1. 125-64=61 Таким образом, мы получили четыре старших разряда и число примет вид 10011ххххх.

2 5 =32 и видим, что 32 < 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.

2 4 =16 < 29 — пятый разряд 1 => 1001111ххх. Остаток 29-16=13.

2 3 =8 < 13 => 10011111хх. 13-8=5

2 2 =4 < 5 => 10011111хх, остаток 5-4=1.

2 1 =2 > 1 => 100111110х, остаток 2-1=1.

2 0 =1 => 1001111101.

Это и будет конечный результат.

Способ №2.

Правило перевода целых десятичных чисел в двоичную систему счисления, гласит:

  1. Разделим an−1an−2. a1a=an−1⋅2 n−1 +an−2⋅2 n−2 +. +a⋅2 0 на 2.
  2. Частное будет равно an−1⋅2n−2+. +a1, а остаток будет равен
  3. Полученное частное опять разделим на 2, остаток от деления будет равен a1.
  4. Если продолжить этот процесс деления, то на n-м шаге получим набор цифр: a,a1,a2. an−1, которые входят в двоичное представление исходного числа и совпадают с остатками при его последовательном делении на 2.
  5. Таким образом, для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, которое будет равно нулю.

Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков. Записывать его начинаем с последнего найденного.

Переведём десятичное число 11 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:

Получили 1110=10112.

Пример:

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

Шестнадцатеричные цифры, преобразование шестнадцатеричного числа в десятичное

Умение преобразовывать шестнадцатеричные числа может быть полезно не только программистам, но и дизайнерам, ведь триада RRGGBB есть не что иное, как «машинные» компоненты для красного, зелёного и синего соответственно — от 0 до 255 каждое. Конечно, графические редакторы содержат палитры со встроенными преобразователями, а стандартный калькулятор операционной системы умеет справляться с этой задачей, но порой гораздо удобнее самому «накинуть +14» к требуемой компоненте, а не запускать сторонние программы.

Прежде, чем я покажу, как (легко) можно переводить числа из шестнадцатеричной системы и более привычную для нас, необходимы дополнительные мероприятия. Все мы в школе учили таблицу умножения, и можем убедиться, что данный навык остался (хотя некоторые им в повседневной жизни не пользуются). Теперь же потребуется немного углубить знания, выучив её вплоть до 16 × 16 .

И последнее: я убеждён, что рядовому пользователю эти навыки не понадобятся с вероятностью 99.…%. В общем, вы предупреждены .

Преобразование чисел

Таблица умножение от 11 до 16

Следующим шагом необходимо соотнести десятичные числа от 10 до 15 с шестнадцатеричными цифрами от A до F.

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

HEX (шестнадцатеричная)DEC (десятичная)
11
22
33
44
55
66
77
88
99
A10
B11
C12
D13
E14
F15

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

Обычно в компьютерной литературе, для однозначного указания основания системы счисления, применяется следующая нотация:
— шестнадцатеричное число — 0x100 (256 в десятичной, признак — 0x в начале)
— десятичное число — 100 (наша, человеческая, система счисления)
— восьмеричное число — 0100 (64 в десятичной, признак — ведущий ноль)
— двоичное число — 0b100 (4 в десятичной, признак — 0b в начале)

Преобразование шестнадцатеричного числа в десятичное

Для начала, небольшой рисунок:

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

Для преобразования требуется каждую цифру числа умножить на «разряд», в котором оно находится. Из курса начальной школы мы помним, что позиции, занимаемые в числовой строке, называются (справа налево) единицы, десятки, сотни и т. д. Здесь почти то же самое, но с поправкой на систему счисления. Каждый следующий разряд — это +1 степень текущей системы счисления. Любое число в степени ноль — это ноль, в степени 1 — самом число, в степени 2 (квадрат) — число, умноженное само на себя и т. д.

Для наглядности привожу пример. Допустим, возьмём шестнадцатеричное число 0x1F8. Нам требуется перевести его в десятичную систему, поэтому запишем (0x — это признак основания!):

1F816 = 116 × 16 2 + F16 × 16 1 + 816 × 16 0 = 1 × 256 + 15 × 16 + 8 × 1 = 256 + 240 + 8 = 504

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

Небольшое отступление

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

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

Скорее всего, вам сложно это представить. Но, взглянув на это под другим углом, можем убедиться, что выбор был бы очень хорош, ведь 12 делится без остатка на 2, 3, 4, 6 (в то время, как 10 можно разделить лишь на 2 и 5). Естественно, умножения и деления на степень числа 12 были так же просты, как сейчас аналогичные операции для степени числа 10.

Выучив эти таблицы, любой человек легко сможет переводить компьютерные байты в привычные числа. При желании, как следует потренировавшись и «расширив объём» краткосрочной памяти, станут доступны и более сложные варианты. Но, как уже говорилось чуть ранее, манипуляции с байтами мало кому нужны, не говоря о чём-то большем.

Свежим хлебушком типа батон —>
днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости продлением домена —>
продлением хостинга на +1 месяц

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

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

Шестнадцатеричное в десятичное преобразование в C++

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

Программный код C++ для преобразования шестнадцатеричного в десятичное

После программы на C++ попросите пользователя ввести любое число в шестнадцатеричном формате, чтобы преобразовать его в десятичное, а затем отобразить результат на экране:

/ * Программа C++ — Преобразование шестнадцатеричного в десятичное * *

c-konvertaciya-chisla-iz-16-v-10-sistemu-schiskeniya

Когда вышеупомянутая программа C ++ компилируется и выполняется, она даст следующий результат:

Шестнадцатеричное в десятичное преобразование в C

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

C код программирования для преобразования шестнадцатеричного в десятичное

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

c-konvertaciya-chisla-iz-16-v-10-sistemu-schiskeniya

Когда вышеупомянутая программа c скомпилирована и выполнена, она выдаст следующий результат:

Преобразовать шестнадцатеричное в десятичное

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

Программный код Java для преобразования шестнадцатеричного в десятичное

После Java-программы попросите пользователя ввести любое число в шестнадцатеричном формате, чтобы преобразовать его в десятичное число, а затем отобразить результат на экране:

Когда вышеуказанная Java-программа компилируется и выполняется, она выдаст следующий вывод:

kod-java-dlya perevoda-iz shestnadcatirichoi-v-desyatichnuyu

Преобразовать шестнадцатеричное в десятичное в Python

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

Код программы Python для преобразования шестнадцатеричного в десятичное

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

# Программа Python — конвертировать шестнадцатеричное в десятичное

preobrazovat-chislo-iz-shestnadcatirichnoi-v-desyatichnuyu-sistemu

print(«Enter ‘x’ for exit.»); hexdec = input(«Enter number in Hexadecimal Format: «); if hexdec == ‘x’: exit(); else: dec = int(hexdec, 16); print(hexdec,»in Decimal image» itemscope itemtype=»https://schema.org/ImageObject»>
Как вы можете видеть, что один из них — это скриншот исходного вывода после запуска вышеуказанной программы, теперь введите любое число в своем уме в шестнадцатеричном формате и затем нажмите клавишу ввода, чтобы преобразовать то же число в десятичной форме, как показано здесь на данном скриншоте:

preobrazovat-iz-shestnadcatirichnoi-v-desyatichnuyu-python
Ниже та же самая программа с запуском на оболочке Python: konvertirovat-iz-shestnadcatirichnoi-v-desyatichnuyu-python

Читать еще:  Как активировать игру в Origin
Ссылка на основную публикацию
Adblock
detector
×
×