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

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

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

Как преобразовать из шестнадцатеричного в десятичный

Обычное десятичное число — это сумма цифр, умноженных на 10.

137 по основанию 10 равно каждой цифре, умноженной на соответствующую степень 10:

137 10 = 1 × 10 2 + 3 × 10 1 + 7 × 10 0 = 100 + 30 + 7

Шестнадцатеричные числа читаются так же, но каждая цифра учитывает степень 16 вместо степени 10.

Для шестнадцатеричного числа с n цифрами:

Умножьте каждую цифру шестнадцатеричного числа на соответствующую степень 16 и просуммируйте:

десятичный = d n-1 × 16 n-1 + . + d 3 × 16 3 + d 2 × 16 2 + d 1 × 16 1 + d 0 × 16 0

Пример # 1

3B по основанию 16 равно каждой цифре, умноженной на соответствующие 16 n :

3B 16 = 3 × 16 1 + 11 × 16 0 = 48 + 11 = 59 10

Пример # 2

E7A9 в базе 16 равно каждой цифре, умноженной на соответствующие 16 n :

E7A9 16 = 14 × 16 3 + 7 × 16 2 + 10 × 16 1 + 9 × 16 0 = 57344 + 1792 + 160 + 9 = 59305 10

Подробнее о числах

Калькулятор на iPhone

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

Различные способы представления чисел

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

Арабские цифры

Арабская система счисления — одна из самых широко используемых систем счисления. Она была заимствована из Индии и доработана персидскими и арабскими математиками. В русском языке эта система называется в основном «арабской», но на других языках, например английском, она чаще называется «индо-арабской». В средние века, особенно ближе к середине и концу этого периода, торговля распространилась по всему миру, и купцы стали привозить в другие страны не только товары, но и сведения о науках, таких как математика. Благодаря этому арабские цифры начали использовать в Европе, сначала в монастырях, а позже и в светском обществе. Папа римский Сильвестр II одним из первых стал использовать и распространять арабские цифры взамен римских, познакомившись с ними благодаря связям с арабскими государствами на территории нынешней Испании. Европейские ученые приспособили и частично изменили написание цифр, и арабская система счисления получила широкое применение не только во всей Европе, но и по всему миру благодаря торговле и во время колонизации других континентов. Арабская система — десятичная, то есть с основанием 10 и с использованием десяти цифр, которыми можно выразить все возможные числа.

Десять — одно из наиболее широко используемых чисел в системах счета, и десятичная система распространена во многих странах. Это связано с тем, что издревле люди пользовались десятью пальцами на руках для счета. До сих пор люди, которые учатся считать или хотят проиллюстрировать пример, связанный со счетом, используют пальцы. Существуют даже такие выражения как «считать на пальцах». В некоторых культурах для счета использовали также и пальцы ног, костяшки пальцев, и даже пространство между пальцами. Интересно, что во многих языках слово, обозначающее пальцы и цифры — одно и то же. Например, в английском, это слово — «digit» (произносится как «диджит»).

Надпись на латинском языке с использованием римских чисел на Арке Адмиралтейства в Лондоне гласит: ANNO : DECIMO : EDWARDI : SEPTIMI : REGIS : VICTORIÆ : REGINÆ : CIVES : GRATISSIMI : MDCCCCX : (На десятом году правления короля Эдуарда VII королеве Виктории от благодарных граждан, 1910 г.).

Римские цифры

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

I 1
V 5
X 10
L 50
C 100
D 500
M 1000

Порядок написания цифр важен потому, что большее число слева от меньшего значит, что оба числа необходимо сложить, в то время как меньшее число слева от большего следует вычесть из большего числа. Например, XI равняется одиннадцати, а IX — это 9. Это правило действует только для чисел: IV, IX, XL, XC, CD и CM. В некоторых случаях эти правила не соблюдаются, и числа пишутся в ряд, например XXXXX.

Системы счисления в других культурах

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

», который писали над такими цифрами, чтобы показать, что это не буквы. Существовала похожая система и с использованием глаголицы. В еврейской системе счисления буквами еврейского алфавита записывали числа от одного до десяти, кратные десяти, сто, двести, триста, и четыреста. Остальные числа писали как сумму или произведение. Греческая система счисления также похожа на все, приведенные выше.

В некоторых культурах системы счисления были проще. Например, вавилонские цифры можно было записать с помощью двух клинописных знаков, обозначавших единицу (похожего на большую букву «Т») и десять (похожего на букву «С»). Так, например, 32 можно записать как «СССТТ», используя соответствующие знаки. Египетская система счисления похожа, только в ней существовали также символы для нуля, сотни, тысячи, десяти тысяч, ста тысяч и миллиона, а также были специальные знаки для записи дробей. Цифры майя записывались с помощью знаков, обозначавших ноль, единицу и пятерку. Числа выше девятнадцати также имели своеобразное написание. В них использовались знаки для одного и пяти, но с другим расположением, чтобы показать, что значение этих цифр — другое.

Единичная система счисления. Счет с использованием черточек в разных культурах.

Единичная система счисления

В единичной или унарной системе счисления используется только один знак, обозначающий единицу. Каждое число записывается с помощью таких знаков, количество которых равно этому числу. Например, если такой знак — буква «А», то число пять можно записать как «ААААА». Унарная система часто используется учителями, которые учат детей считать, потому что она помогает детям понять зависимость между количеством предметов, например счетных палочек или карандашей, и более абстрактного понятия числа. Часто унарную систему используют во время игр, чтобы записывать очки, набранные командами, или для счета дней или предметов. Причем метод записи в разных культурах отличается. Например, во многих странах, где принят латинский алфавит, чаще используются черточки. Обычно четыре вертикальные черточки перечеркивают горизонтальной или диагональной, и продолжают счет с новой группы черточек. В примере А) на рисунке счет доходит до четырех, эти черточки перечеркивают пятой, дальше добавляют еще пять черточек, и опять начинают новый ряд. Так, счет доходит до двенадцати. В странах, где в языке используют или использовали китайские иероглифы, люди обычно рисуют не четыре черточки, перечеркнутые пятой, а специальный иероглиф из пяти штрихов. Последовательность этих штрихов не произвольная, а установлена правилами правописания. В примере В) на рисунке счет доходит то пяти и человек пишет два первых штриха следующего иероглифа, заканчивая счет на семи. Кроме простого счета и учета, унарную систему также используют в компьютерных технологиях и электронике.

Арифмометр, в котором применяется десятичная позиционная система, и микросхема микропроцессора, использующего двоичную позиционную систему

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

В позиционной системе счисления значение каждого знака, обозначающего цифру, зависит от его положения в числе. Это значение также зависит от основания системы счисления. Позиция обычно называется разрядом. Например, число 101 в двоичной системе не равно ста одному в десятичной. Рассмотрим позиционную систему на примере десятичной:

  1. Первый разряд предназначен для единиц, то есть чисел от нуля до девяти. Цифра первого разряда умножается на десять в нулевой степени (то есть на единицу).
  2. Второй разряд предназначен для десятков и цифру во втором разряде умножают на десять в первой степени.
  3. Третий разряд предназначен для сотен и цифру в третьем разряде умножают на десять во второй степени, и так далее, пока не закончатся разряды.

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

Пример использования позиционирования в десятичной системе: 3102 = 3 × 10³ + 1 × 10² + 0 × 10¹ + 2 × 10⁰

Двоичная система

Двоичная система очень широко используется в математике и вычислительной технике. Все возможные числа представлены в ней с помощью только двух цифр, «0» и «1», хотя в некоторых случаях используют и другие знаки, например «+», «–». При переводе чисел из десятичной системы в двоичную получаем: 0=0, 1=1, а для дальнейшего перевода используют правила сложения. Сложение в двоичной системе основано на том же принципе, что и в десятичной. Чтобы добавить к числу единицу пользуются следующим правилом:

Художественное изображение чисел в двоичной системе

  • Для чисел оканчивающихся нулем, ноль заменяют единицей. Например: 100 (4) + 1 (1) = 101 (5). Здесь и далее для сравнения приведены десятичные числа в скобках.
  • В числе, оканчивающемся единицей, но не состоящем только из единиц, заменяют первый ноль справа на единицу, а все единицы, за ним следующие (справа от него) заменяют нулями. Например: 1011 (11) + 1 (1) = 1100.
  • В числе, состоящем из одних единиц, заменяют нулями все единицы, и в начале (слева) добавляют единицу. Например: 111 (7) + 1 (1) = 1000 (8).

При сложении пишут оба числа одно под другим, как при десятичном сложении. Правила при этом следующие: 0+0=0, 1+0=1, а 1+1=10, при этом в правом разряде пишут 0 и переносят 1 в следующий разряд. Например:

То есть, справа налево получаем:

  • 1+1=0, один переносим в следующий разряд
  • 1+1+1=1, один переносим в следующий разряд
  • 1+1=0, один переносим в следующий разряд
  • 1+1+1=1, один переносим в следующий разряд
  • 1+1=10

То есть, получаем 101010.

Вычитание похоже на сложение, только вместо переноса, наоборот, «занимают» единицу из высших разрядов. Умножение тоже похоже на десятичное. Результат перемножения двух единиц — единица, а умножение на ноль дает ноль. Например:

Деление и взятие квадратного корня также мало отличается от работы с десятичными числами.

Классы чисел

Числа объединяются в классы, и некоторые числа могут одновременно входить в несколько классов.

Долг — отрицательное число

Отрицательные числа

Отрицательные числа обозначают отрицательную величину. Перед ними ставят знак минус, чтобы отличить их от положительных. Например, если человек А должен человеку Б пять рублей, значит у него есть −5 рублей. Здесь –5 — отрицательное число.

Рациональные числа

Рациональные числа — это те числа, которые можно представить в виде дроби, где знаменатель — это положительное натуральное число, а числитель — целое число. Например, 3/4 и −10/5 (то есть, −2) — рациональные числа.

Натуральные числа

Натуральные числа это ноль и положительные целые числа. Например, 7 и 86 766 575 675 456 — натуральные числа.

Целые числа

Целые числа — это ноль, отрицательные и положительные числа, не являющиеся дробями. Например, −65 и 11 223 — целые числа.

Комплексные числа

Комплексные числа получают при сложении действительного (не комплексного) числа и другого действительного числа, умноженного на квадратный корень минус одного. Здесь квадратный корень минус одного называется мнимым числом.

Простые числа

Простые числа — это натуральные числа больше единицы, которые делятся без остатка только на единицу и сами себя. Примеры простых чисел это: 3, 5 и 11. 2 57 885 161 −1 — самое большое известное простое число на февраль 2013 г. В нем содержится 17 425 170 цифр. Простые числа используют в криптосистемах с отрытым ключом. Это вид кодирования применяется в шифровании электронной информации в тех случаях, когда необходимо обеспечить информационную безопасность, например, на сайтах интернет-магазинов, электронных кошельков и банков.

Интересные факты о числах

Особая система записи чисел, чтобы предотвратить мошенничество

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

Современный счет в торговле

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

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

Арабская система счисления применяется в Китае и Японии, но в отличие от английского, русского, и многих других языков, числа в китайском и японском языках сгруппированы по десять тысяч. То есть, когда в английском или в русском говорят: сто, потом идут кратные сотни, потом тысяча, кратные тысячи, миллион, и так далее, то в японском и китайском языках идут: сто, кратные ста до 9 999, десять тысяч, кратные десяти тысяч до 999 999, 1 000 000, и так далее.

Несчастливые числа

«Тайная вечеря» Леонардо да Винчи. Церковь Санта-Мария-делле-Грацие (Santa Maria delle Grazie), Милан, Италия.

На Западе, а также во многих странах, где исповедуют христианство, 13 считается несчастливым числом. Историки считают, что это связано с христианством и иудаизмом. Согласно Библии, на Тайной Вечере присутствовало именно тринадцать учеников Иисуса, и тринадцатый, Иуда, после предал Христа. У викингов также существовало поверье о том, что когда тринадцать человек собираются вместе, один из них обязательно умрет в следующем году.

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

В Китае, Корее и Японии не любят число 4, потому, что оно созвучно со словом «смерть». Часто избегают не только саму цифру четыре, но и числа, ее содержащие. Например, часто пропускают такие числа в нумерации этажей и квартир. В Китае также не любят число 7, из-за того, что седьмой месяц в китайском календаре — месяц духов. Считается, что в этот месяц граница между мирами людей и духов исчезает, и духи приходят навещать людей. Число 9 считается неудачным в Японии, так как оно созвучно со словом «страдание».

Несчастливое число в Италии — 17, потому что его написание римскими цифрами — «XVII», что можно переписать как «VIXI», изменив порядок букв. Часто эта фраза была написана на могилах древних римлян и означала «я жил», поэтому ассоциируется с концом жизни и со смертью.

666 — известное многим несчастливое число, также именуемое «числом зверя» в Библии. Некоторые считают, что на самом деле «число зверя» — 616, но упоминание о 666 встречается чаще. Многие верят, что этим числом будет обозначен антихрист, наместник дьявола, и иногда ассоциируют это число с самим дьяволом. Так, некоторые убеждены, что 666 и 616 — это зашифрованное имя римского императора Нерона на древнееврейском и латинском языках соответственно, выраженное цифрами. Вероятность действительно существует, так как Нерон известен гонениями христиан и своим кровавым правлением. Некоторые историки даже считают, что именно Нерон являлся инициатором великого пожара Рима, хотя многие историки не согласны с такой трактовкой событий.

В Афганистане, особенно в Кабуле и его окрестностях, распространился слух о том, что число 39 — позорное число, связанное с проституцией. Согласно этому слуху, в Кабуле живет и работает сутенер, чей номерной знак на машине и номер квартиры содержит это число. Некоторые обвиняют правительство и организованные преступные группировки в том, что те специально распустили такой слух, чтобы покупать в Кабуле машины с такими номерными знаками и перепродавать в отдаленных провинциях, до куда не дошел этот слух. Людей с числом 39 в номерном знаке, номере квартиры или телефона дразнят, и насмехаются над ними, и эта проблема настолько серьезна, что многие изменяют цифры на номерных знаках и всячески стараются скрыть причастность к этому числу. Ходят слухи, что ненависть к числу 39 довела до трагедии. Во время выборов в парламент многие насмехались над кандидатом, чей номер в бюллетене был 39. Во время автомобильной пробки ему начали сигналить и кричать, в результате ситуация на дороге ухудшилась и переросла в аварию, и телохранители, опасающиеся за его жизнь, открыли огонь, в результате убив двоих. Парламентарий и его телохранители отрицают причастность к этому происшествию, никого не привлекли к ответственности, и неизвестно, произошло ли событие в действительности, или это только слухи.

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

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

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

Всё не так страшно, как может показаться в самом начале, и начнем мы с привычной всем нам десятичной арифметики. Во втором классе средней школы нас учили, например, что число 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. Соответствие десятичных чисел шестнадцатеричным

Десятичные 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Шестнадцатеричные 0 1 2 3 4 5 6 7 8 9 a b c d e f 10
10-ная система 16-ная система
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 a
11 b
12 c
13 d
14 e
15 f
16 10

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

  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?

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

Сложение шестнадцатеричных чисел

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

Сначала мы с вами вспомним как складывать числа в столбик в привычной нам десятичной системе счисления и применим эти знания на шестнадцатеричные числа. Всего делов-то! 🙂

Предположим, нам необходимо сложить числа 234 и 49. Для этого мы запишем эти числа одно под другим так, чтобы разряды в них совпадали — единицы под единицами, десятки под десятками и так далее. И складывать будем цифры из одинаковых разрядов, начиная с единиц и идя влево.

Помня о том, что мы пока складываем десятичные числа (10 является основанием системы счисления), складываем разряды по очереди справа налево. 4 + 9 = 13. Наш результат — 13, он больше 10 — нашего основания. В случае, когда результат больше или равен основанию, это самое основание нужно вычесть из результата. В нашем примере от 13 необходимо отнять 10, а новый результат записать под цифрами 4 и 9, отнятую же здесь десятку, перенести в левый разряд как единицу старшего разряда (десять единиц равно одному десятку). В разряде с десятков мы складываем 3 + 4 и добавляем к ним перенесенный 1 десяток. Результат — 8. Он меньше нашего основания, значит под десятками просто записываем 8. Далее складываем сотни. Но двойку не с чем складывать, значит просто переносим ее в результат. Итак: 234 + 49 = 283.

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

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

a = 10, b = 11, c = 12, d = 13, e = 14, f = 15.

Переходим собственно к примеру на сложение. Давайте сложим 0xA15 и 0xBC.

Сначала складываем единицы — 5 + С. Вспоминаем, что с = 12, получаем 5 + 12 = 17. Результат больше основания системы счисления, который равен 16. Значит вычитаем 16 из 17 — равно 1, записываем этот новый результат под правым разрядом, а в левый старший разряд переносим единичку (16 единиц равно одному десятку в шестнадцатеричной системе). Там же складываем 1 + B. Добавляем к этой сумме 1 перенесенный разряд и вспоминаем, что B = 11, получаем: 1 + 1 + 11 = 13. Во-первых: этот результат меньше 16, значит его можно просто записать под складываемыми цифрами, а во-вторых: Число 13 в шестнадцатеричной арифметике записывается буквой D. В разряд сотен при этом ничего не переносится, а цифра A из верхнего слагаемого просто переносится в результат. Несложно заметить, что 0xA15 + 0xBC = 0xAD1.

Вычитание шестнадцатеричных чисел

Начнем мы снова с привычной нам десятичной системы счисления. Давайте решим пример: 123-85.

Вычитание снова происходит поразрядно, но переносы делаются на сей раз слева направо. Поясню. В нашем примере необходимо из 3 отнять 5. Этого сделать нельзя, поэтому мы занимаем один десяток из левого разряда. Теперь 5 нужно отнять от 13. В результате мы получим 8, запишем этот результат под разрядом единиц. От десятков в уменьшаемом (число 123) мы один десяток заняли в разряд единиц. Теперь здесь только 1 десяток. Нам нужно из одного вычесть 8. Для этого снова приходится занять единицу из левого разряда (теперь уже сотен). Значит нужно из 11 вычесть 8. В результате получаем – 3 и записываем его под разрядом десятков. А единственную сотню мы заняли для вычитания десятков. Пример решён: .

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

a = 10, b = 11, c = 12, d = 13, e = 14, f = 15.

Давайте решим пример 0xBC4-0xAF.

Из 4 нельзя вычесть F, значит из левого разряда мы займем 16. Теперь F надо вычитать из 20. В результате — 5, записываем его под разрядом единиц. Цифра C уменьшилась на 1, теперь это B. Значит надо A вычесть из B. Нетрудно догадаться, что в результате будет 1. Записываем этот результат в разряде десятков. Из сотен в этот раз мы ничего не занимали и в вычитаемом только 2 цифры — сотен нет, то есть сносим B из уменьшаемого в результат. Итак: 0xBC4-0xAF = 0xB15, пример решен. Было ли сложно? 🙂

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

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

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

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

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

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

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

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

HEX (шестнадцатеричная) DEC (десятичная)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15

А теперь вспомним поразрядное умножение из предыдущей статьи, для цифры 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 месяц

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

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