7 в 16 ричной системе. Шестнадцатеричная и двоичная системы счисления
Всем, кто общается с компьютером или другой цифровой техникой, приходилось встречать загадочные записи типа 10FEF, которые кажутся непосвященным каким-то шифром. Что скрывается за этими символами? Оказывается, это просто цифры. Те, которые использует шестнадцатиричная
Системы счисления
Каждый школьник знает или хотя бы где-то слышал, что все цифры, которые мы обычно используем, образуют Это название она носит просто потому, что различных символов в ней всего десять (от 0 до 9). Любое число в нашей привычной системе может быть записано с их помощью. Однако, оказывается, использовать ее удобно бывает далеко не всегда. Например, при обмене информацией между цифровыми устройствами проще всего применять систему счисления, в которой есть только две цифры: «0» — нет сигнала — или «1» — есть сигнал (напряжение или что-то еще). Она называется двоичной. Однако, чтобы описать процессы внутри таких устройств с ее помощью, придется выполнять слишком длинные и трудные для понимания записи. Поэтому была придумана шестнадцатиричная система счисления.
Понятие шестнадцатеричной системы
Почему же для цифровых устройств используется именно система, которая содержит шестнадцать разных символов? Как известно, информация в компьютерах передается в виде байтов, которые обычно содержат 8 бит. А единица данных — машинное слово — включает в себя 2 байта, то есть 16 бит. Таким образом, с помощью шестнадцати разных символов можно описать ту информацию, которая является мельчайшей частицей при обмене. Шестнадцатиричная система счисления включает наши привычные цифры (естественно, от 0 до 9), а также первые буковки (A, B, C, D, E, F). Именно с помощью этих символов принято записывать любую единицу информации. С ними можно производить любые арифметические действия. То есть сложение, вычитание, умножение, деление. Результатом также будет шестнадцатеричное число.
Где применяется
Шестнадцатиричная система используется для записи кодов ошибок. Они могут возникать при работе различных программных продуктов. Например, так кодируются ошибки операционной системы. Каждое число при этом стандартное. Можно выяснить, какая именно ошибка произошла в процессе работы, расшифровав его с помощью инструкции. Также применяются такие символы при написании программ на языках низкого уровня, например ассемблере. Шестнадцатиричная система счисления любима программистами еще и потому, что ее составляющие очень легко могут быть переведены в двоичные, которые являются «родными» для всей цифровой техники. С помощью таких символов описывают также цветовые схемы. Кроме того, абсолютно все файлы в компьютере (и текстовые, и графические, и даже музыкальные или видео) представляются после трансляции в виде последовательности Просматривать исходный удобнее всего как раз в виде шестнадцатеричных символов.
Конечно, любое число можно записать в различных системах счисления. Это и десятичная, и двоичная, и шестнадцатеричная. Чтобы перевести слово из одной из них в другую, следует воспользоваться таким сервисом, как переводчик систем счисления, или сделать это самостоятельно с помощью определенного алгоритма.
Многие пользователи компьютеров понимают, что компьютер работает в двоичной системе счисления. Традиционно состояния двоичной системы представляются цифрами 0 и 1, хотя, если говорить более точнее, каждое состояние обозначает наличие или отсутствие сигнала, т. е. правильнее будет назвать состояния «выключено» и «включено», либо «нет» и «да». Состоянию «выключено» или «нет» соответствует цифра 0, а состоянию «включено» или «да» цифра 1. Простым пользователям обычно нет необходимости полностью понимать устройство компьютера, однако двоичная система счисления дает о себе знать в виде различных ограничений основанных на степени двойки. Более компактный вариант двоичной системы называют шестнадцатеричной. Число шестнадцать является четвертой степенью числа два. Из этого следует, что можно достаточно просто переводить длинных двоичные последовательностей из нулей и единиц в короткие шестнадцатеричные. Для этого достаточно разбить двоичную последовательность на группы по четыре разряда (цифры) начиная с младшего разряда (справа) и заменить каждую группу на соответствующее шестнадцатеричное значение.
Шестнадцатеричную систему принято использовать для удобства восприятия двоичных данных, так как переводы из шестнадцатеричной системы в двоичную и обратно осуществляются простой заменой строк. Компьютер работает исключительно с двоичными последовательностями, а шестнадцатеричная запись этой последовательности в четыре раза компактнее, так как у этой системы основание 16 (2 16), а двоичной 2. Двоичная последовательность может быть достаточно громоздкой. Например, запись числа 513 требует десять двоичных разрядов (1000000001), а в шестнадцатеричной только три (201). Тем не менее, для представления любых шестнадцатеричных чисел требуется шестнадцать разных символов, а не десять, которые используются в привычной нам десятичной системе счисления. Первые десять символов это символы в интервале от 0 по 9, остальные это буквы латинского алфавита в интервале от A по F. Буквы обычно (но не всегда) пишут в верхнем регистре (заглавные) в шестнадцатеричной записи числа. Первые десять символов (от 0 по 9) записываются аналогично цифрам в десятичной системе счисления и соответствуют им. Буквы в интервале от A по F соответствуют значениям в интервале от 10 до 15.
Рассмотрим соответствие чисел от 0 по 15 шестнадцатеричной и двоичной системам счисления.
Десятичная запись | Шестнадцатеричная запись | Двоичная запись |
---|---|---|
0 | 0 | 0000 |
1 | 1 | 0001 |
2 | 2 | 0010 |
3 | 3 | 0011 |
4 | 4 | 0100 |
5 | 5 | 0101 |
6 | 6 | 0110 |
7 | 7 | 0111 |
8 | 8 | 1000 |
9 | 9 | 1001 |
10 | A | 1010 |
11 | B | 1011 |
12 | C | 1100 |
13 | D | 1101 |
14 | E | 1110 |
15 | F | 1111 |
Записи 10, 11 и т. д. в десятичной, двоичной и шестнадцатеричной системах не соответствуют друг другу. Рассмотрим небольшой пример. Пусть у нас имеется шестнадцатеричное число число 1A5E. для перевода в двоичную запись достаточно просто заменить шестнадцатеричные разряды на соответствующие двоичные группы. Получится 0001 1010 0101 1110. Если убрать незначащие нули перед числом и записать его без разделителей получим 1101001011110. Для обратного перевода разделим число на группы по четыре разряда начиная с младшего (с правой стороны), а также для удобства добавим незначащие нули в старшей группе до 4 разрядов. Получим 0001 1010 0101 1110. Заменим группы на соответствующие шестнадцатеричные значения, получим 1A5E.
Для перевода шестнадцатеричного числа в десятичное представление можно воспользоваться схемой по которой мы записываем десятичные числа. В десятичном числе каждый разряд обозначает соответствующую степень числа десять начиная с нулевой с возрастанием справа налево. Например, десятичное число 123 обозначает 1*10 2 + 2*10 1 + 3*10 0 . Аналогичным методом переведем число 1A5E в десятичную систему счисления. В шестнадцатеричной системе счисления, также как и в десятичной каждый разряд обозначает соответствующую степень числа шестнадцать начиная с нулевой с возрастанием справа налево. Символы 1 и 5 в шестнадцатеричной системе счисления соответствуют значениям 1 и 5 в десятичной, а символы A и E — 10 и 14. Тогда 1A5E можно представить в десятичной системе счисления как 1*16 3 + 10*16 2 + 5*16 1 + 14*16 0 = 6750. Однако для оценки шестнадцатеричных чисел вовсе не обязательно переводить их в десятичные. Правила сравнения, сложения и умножения в этой системе такие же как и в десятичной, главное не забывать, что каждый разряд может содержать значения от 0 до 15. Для более быстрого перевода числе между система счисления можно воспользоваться стандартным калькулятором в Windows, для этого достаточно в расширенном режиме калькулятора выбрать систему счисления, ввести в ней число и выбрать нужную систему счисления, в которой следует отобразить результат.
Так как шестнадцатеричные числа, состоящие только из чисел, легко спутать с десятичными, их обычно помечают так, чтобы было ясно, что используется именно шестнадцатеричная запись. Шестнадцатеричные записи обычно помечают либо добавлением в конец строчной буквы „h”, либо приставки „0x” перед записью числа. Таким образом шестнадцатеричное число 1A5E может быть записано как 1A5Eh или 0x1A5E, где „h” на конце или „0x” в начале обозначают, что используется шестнадцатеричная запись.
Привычная для человека система счисления – десятичная. В ее основу входят десять цифр от 0 до 9. Шестнадцатеричную систему отличает наличие в ней первых шести букв латинского алфавита для записи чисел помимо основных цифр. То есть после цифры 9 следует символ «A», который соответствует числу 10 для десятичной системы. Соответственно, F в шестнадцатеричной системе – это 16 в десятичной. Использование шестнадцати символов в системе – неслучайный выбор.
Единица информации – бит. Восемь бит образуют байт. Существует понятие, как машинное слово – это единица данных, представляющая собой два , то есть шестнадцать бит. Таким образом, используя шестнадцать различных символов, можно описывать любую информацию, которая при обмене данных будет наименьшей частицей. С ними можно производить любые арифметические действия, результат, соответственно, получится тоже в шестнадцатеричной системе.
Для того чтобы отличать, что число записано в шестнадцатеричной системе, после него записывают букву «h» или нижний индекс «16».
Применение
Наиболее широкое применение шестнадцатеричной системы счисления – это коды ошибок программных продуктов, например, операционной системы. Числа, заложенные в этих кодах, стандартизированы. Имея специальную таблицу, всегда можно определить, что именно означает та или иная ошибка.
В языках низкого уровня, максимально приближенным к машинным кодам шестнадцатеричная система применяется для написания программ. Многие программисты используют ее и при работе с языками высокого уровня, потому что числа в этой системе при помощи специальной таблицы соответствия легко переводятся в двоичную систему, на которой основана работа всей цифровой техники. Любая информация в компьютере, будь то музыкальный файл или текстовый документ, после трансляции представлена последовательностью исходного двоичного кода, а его удобнее просматривать представленным символами шестнадцатеричной системы.
Также одно из применений шестнадцатеричных символов – описание цветовых схем, то есть три компонента R, G, B описываются соответствующим данной системе способом. Данный подход к записи получил название шестнадцатеричный цвет
Возможность просмотреть программу в шестнадцатеричном коде позволяет отладить ее, внести изменения, а злоумышленниками данный подход используется для взлома программ.
Шестнадцатеричная система счисления (также — шестнадцатеричный код) является позиционной системой счисления с целочисленным основанием 16. Иногда в литературе также используется термин hex (произносится «хекс», сокращение от англ. hexadecimal). Цифрами данной системы счисления принято использовать арабские цифры 0—9, а также первые символы латинского алфавита A—F. Буквы соответствуют следующим десятичным значениями:
- * A —10;
- * B —11;
- * C —12;
- * D —13;
- * E — 14;
- * F — 15.
Таким образом, десять арабских цифр вкупе с шестью латинскими буквами и составляют шестнадцать цифр системы.
Кстати, на нашем сайте вы можете перевести любой текст в десятичный, шестнадцатеричный, двоичный код воспользовавшись Калькулятором кодов онлайн .
Применение . Шестнадцатеричный код широко применяется в низкоуровневом программировании, а также в различных компьютерных справочных документах. Популярность системы обоснована архитектурными решениями современных компьютеров: в них в качестве минимальной единицы информации установлен байт (состоящий из восьми бит) — а значение байта удобно записывать с помощью двух шестнадцатеричных цифр. Значение байта может ранжироваться с #00 до #FF (от 0 до 255 в десятичной записи) — другими словами, используя шестнадцатеричный код , можно записать любое состояние байта, при этом не остаётся «лишних» не используемых в записи цифр.
В кодировке Юникод для записи номера символа используется четыре шестнадцатеричных цифры. Запись цвета стандарта RGB (Red, Green, Blue — красный, зелёный, синий) также часто использует шестнадцатеричный код (например, #FF0000 — запись ярко-красного цвета).
Способ записи шестнадцатеричного кода.
Математический способ записи . В математической записи основание системы записывают в десятичном виде в нижнем индексе справа от числа. Десятичную запись числа 3032 можно записать как 3032 10 , в шестнадцатеричной системе данное число будет иметь запись BD8 16 .
В синтаксисе языков программирования . Синтаксис различных языков программирования по-разному устанавливает формат записи числа, использующего шестнадцатеричный код :
* В синтаксисе некоторых разновидностей языка ассемблера используется латинская буква «h», которая ставится справа от числа, например: 20Dh. Если число начинается с латинской буквы, то перед ним ставится ноль, например: 0A0Bh. Это сделано для того, чтобы отличать от констант значения, использующие шестнадцатеричный код ;
* В прочих разновидностях ассемблера, а также в Pascal (и его разновидностях, таких как Delphi) и некоторых диалектах Basic, применяют префикс «$»: $A15;
* В языке разметки HTML, а также в каскадных файлах CSS, для указания цвета в формате RGB с шестнадцатеричной системой записи, используется префикс «#»: #00DC00.
Как перевести шестнадцатеричный код в другую систему?
Перевод из шестнадцатеричной системы в десятичную. Для совершения операции перевода из шестнадцатеричной системы в десятичную, требуется представить исходное число как сумму произведений цифр в разрядах шестнадцатеричного числа на степень основания.
Двоичная СС | шестнадцатеричная СС |
Например, требуется выполнить перевод шестнадцатеричного числа A14: в нём три цифры. Используя правило, запишем его в виде суммы степеней с основанием 16:
A14 16 = 10.16 2 + 1.16 1 + 4.16 0 = 10.256 + 1.16 + 4.1 = 2560 + 16 + 4 = 2580 10
Перевод чисел из двоичной в шестнадцатеричную систему и наоборот.
Для перевода используется таблица тетрад. Чтобы выполнить перевод числа из двоичной в десятичную систему, необходимо произвести разбиение его на отдельные тетрады справа налево, после чего, используя таблицу, выполнить замену каждой тетрады на соответствующую шестнадцатеричную цифру. При этом, если количество цифр не кратно четырём, то необходимо добавить соответствующее количество нулей справа от числа, для того, чтобы общее число двоичных цифр стало кратно четырём.
Таблица тетрад для перевода.
Для перевода из шестнадцатеричной системы в двоичную, необходимо выполнить обратную операцию: выполнить замену каждой цифры на тетраду из таблицы.
Двоичная СС | Восьмеричная СС |
Пример перевода из шестнадцатеричной системы в двоичную : A5E 16 = 1010 0101 1110 = 101001011110 2
Пример перевода из двоичной системы в шестнадцатеричную : 111100111 2 = 0001 1110 0111 = 1E7 16
В этом примере количество цифр в исходном двоичном числе не было равным четырём (9), поэтому были добавлены незначащие нули — общее число цифр стало 12.
Автоматический перевод . Быстрый перевод из шестнадцатеричной системы счисления в одну из трёх популярных систем (двоичную, восьмеричную и десятичную), как и обратный перевод, можно выполнить, используя стандартный калькулятор из комплекта поставки ОС Windows. Откройте калькулятор, выберите в меню Вид -> Программист. В данном режиме можно устанавливать систему счисления, используемую в данный момент (см. меню слева: Hex, Dec, Oct, Bin). При этом изменение текущей системы счисления автоматически производит перевод.
Для написания программ на Ассемблере, необходимо разобраться с шестнадцатеричной системой счисления. Ничего сложного в ней нет. Мы используем в жизни десятичную систему. Уверен, что вы все ее знаете, поэтому я постараюсь объяснить шестнадцатеричную систему, проводя аналогию с десятичной.
Итак, в десятичной системе если мы к какому-нибудь числу справа добавим нуль, то это число увеличится в 10 раз. Например: 1 х 10 = 10; 10 х 10 = 100; 100 х 10 = 1000 и т.д. В этой системе мы используем цифры от 0 до 9, т.е. десять разных цифр (собственно, поэтому она и называется десятичная).
В шестнадцатеричной системе мы используем, соответственно, шестнадцать «цифр». Я специально написал слово «цифр» в кавычках, т.к. в ней используются не только цифры. Да и в самом деле как так? Объясняю: от 0 до 9 мы считаем так же, как и в десятичной, а вот дальше будет так: A, B, C, D, E, F. Число F, как не трудно посчитать, будет равно 15 в десятичной системе (см. табл. 1).
Десятичное число | Шестнадцатеричное число |
Т.о., если мы к какому-нибудь числу в шестнадцатеричной системе добавим справа нуль, то это число увеличится в 16 раз.
Пример 1: 1 х 16 = 10; 10 х 16 = 100; 100 х 16 = 1000 и т.д.
Вы смогли отличить в Примере 1 шестнадцатеричные числа от десятичных? А из этого ряда: 10, 12, 45, 64, 12, 8, 19? Это могут быть как шестнадцатеричные, так и десятичные. Для того, чтобы не было путаницы, и компьютер смог бы однозначно отличить одни числа от других, в Ассемблере принято после шестнадцатеричного числа ставить символ h или H (H это сокращение от англ. hexadecimal (шестнадцатеричное). Для краткости его иногда называют просто Hex ) . А после десятичного ничего не ставить. Т.к. числа от 0 до 9 в обоих системах имеют одинаковые значения, то числа, записанные как 5 и 5h одно и тоже.
Т.о. Пример 1 (см. выше) правильнее будет записать так: 1 х 16 = 10h; 10h x 16 = 100h; 100h x 16 = 1000h. Либо так: 1h x 10h = 10h; 10h x 10h = 100h; 100h x 10h = 1000h.
Для чего нужна шестнадцатеричная система, мы рассмотрим в последующих выпусках. А в данный момент для нашего примера программы, который будет рассмотрен ниже, нам необходимо знать о существовании шестнадцатеричных чисел.
Итак, подведем итог. Шестнадцатеричная система счисления состоит из 10 цифр (от 0 до 9) и 6 букв латинского алфавита (A, B, C, D, E, F). Если к какому-нибудь числу в шестнадцатеричной системе добавим справа нуль, то это число увеличится в 16 раз. Очень важно уяснить данную тему , так как мы будем постоянно использовать ее при написании программ.
Теперь немного о том, как я буду строить примеры на Ассемблере. Не совсем удобно приводить их в HTML-формате, поэтому сперва будет сам код программы с пронумерованными строчками, а сразу же после него объяснения и примечания.
Примерно так:
строк | Код программы |
(1) | mov ah,9 |
Объяснения:
В строке (1) мы делаем то-то, а в строке (15) то-то.
Огромная просьба: НЕ копируйте программы со страницы в буфер, а затем не вставляйте их в Блокнот (или еще куда-нибудь)! Перепечатывайте их вручную в текстовом редакторе. Если есть принтер, то выделите программу, распечатайте выделенный фрагмент, а затем перебейте в редактор с бумаги. Все примеры нужно набирать самостоятельно! Это ускорит запоминание операторов.
И еще. Строчные и ПРОПИСНЫЕ буквы в Ассемблере не различаются. Записи вида:
Ассемблером воспринимаются одинаково. Можно, конечно, заставить Ассемблер различать строчные и ПРОПИСНЫЕ символы, но мы пока этого делать не будем. Для удобства чтения программы лучше всего операторы печатать строчными буквами, а названия подпрограмм и меток начинать с прописной. Но это как кому будет удобно.
Итак, переходим к нашей первой программе:
(1) CSEG segment
(2) org 100h
(4) Begin:
(6) mov ah,9
(7) mov dx,offset Message
(8) int 21h
(10) int 20h
(11)
(12) Message db «Hello, world!$»
(13) CSEG ends
(14) end Begin
Для того, чтобы объяснить все операторы данного примера, нам потребуется несколько выпусков. Поэтому описание некоторых команд мы просто опустим на данном этапе. Просто считайте, что так должно быть. В самое ближайшее время мы рассмотрим эти операторы подробно. Итак, строки с номерами (1), (2) и (13) вы просто игнорируете.
Строки (3), (5), (9) и (11) остаются пустыми. Это делается для наглядности. Ассемблер их будет просто опускать.
Теперь перейдем к рассмотрению остальных операторов. Со строки (4) начинается код программы. Это метка, указывающая Ассемблеру на начало кода. В строке (14) стоят операторы end Begin ( Begin англ. начало; end конец). Это конец программы. Вообще вместо слова Begin можно было бы использовать что-нибудь другое. Например, Start:. В таком случае, нам пришлось бы и завершать программу End Start (14).
Строки (6) (8) выводят на экран сообщение Hello, world!. Здесь придется вкратце рассказать о регистрах процессора (более подробно эту тему мы рассмотрим в следующем выпуске).
Регистр процессора это специально отведенная память для хранения какого-нибудь числа.
Например:
Если мы хотим сложить два числа, то в математике запишем так:
A, B и C это своего рода регистры (если говорить о компьютере), в которых могут хранится некоторые данные. А=5 можно прочитать как: Присваиваем А число 5 .
Для присвоения регистру какого-нибудь значения, в Ассемблере существует оператор mov (от англ. move загрузить). Строку (6) следует читать так: Загружаем в регистр AH число 9 (проще говоря, присваиваем AH число 9). Ниже рассмотрим зачем это надо.
В строке (7) загружаем в регистр DX адрес сообщения для вывода (в данном примере это будет строка Hello, world!$ ).
Прерывания будут подробно рассматриваться в последующих выпусках. Здесь я скажу несколько слов.
Прерывание MS-DOS это своего рода подпрограмма (часть MS-DOS) , которая находится постоянно в памяти и может вызываться в любое время из любой программы.
Рассмотрим вышесказанное на примере (мелким шрифтом выделим примечания ):
Программа сложения двух чисел
НачалоПрограммы
A=5 в переменную A заносим значение 5
B=8 в переменную B значение 8
ВызовПодпрограммы Сложение
теперь С равно 13
A=10 тоже самое, только другие числа
B=25
ВызовПодпрограммы Сложение
теперь С равно 35
КонецПрограммы
Подпрограмма Сложение
C=A+B
ВозвратИзПодпрограммы возвращаемся в то место, откуда вызывали
КонецПодпрограммы
В данном примере мы дважды вызвали подпрограмму Сложение , которая сложила два числа, переданные ей в переменных A и B. Результат помещается в переменную С. Когда вызывается подпрограмма, компьютер запоминает с какого места она была вызвана, а затем, когда закончила работу подпрограмма, компьютер возвращается в то место, откуда она вызывалась. Т.о. можно вызывать подпрограммы неопределенное количество раз с любого места.
При выполнении строки (8) программы на Ассемблере мы вызываем подпрограмму (в данном случае это называется прерывание), которая выводит на экран строку. Для этого мы, собственно, и помещаем необходимые значения в регистры. Всю необходимую работу (вывод строки, перемещение курсора) берет на себя подпрограмма. Эту строку можно прочитать так: вызываем двадцать первое прерывание ( int от англ. interrupt прерывание). Обратите внимание, что после числа 21 стоит буква h. Это, как мы уже знаем, шестнадцатеричное число (33 в десятичной системе). Конечно, нам ничего не мешает заменить строку int 21h на int 33. Программа будет работать корректно. Просто в Ассемблере принято указывать номер прерывания в шестнадцатеричной системе.
В строке (10) мы, как вы уже догадались, вызываем прерывание 20 h. Для вызова данного прерывания не нужно указывать какие-либо значения в регистрах. Оно выполняет только одну задачу: выход из программы (выход в DOS). В результате выполнения прерывания 20h, программа вернется туда, откуда ее запускали (загружали, вызывали). Например, в Norton Commander или DOS Navigator.
Строка (12) содержит сообщение для вывода. Первое слово ( message сообщение) название сообщения. Оно может быть любым (например, mess или string и пр.). Обратите внимание на строку (7), в которой мы загружаем в регистр DX адрес нашего сообщения.
Можно создать еще одну строку, которую назовем Mess2. Затем, начиная со строки (9) вставим следующие команды:
(10) mov dx,offset Mess2
(13) Message db «Hello, world!$»
(14) Mess2 db «Это Я! $»
и ассемблировать нашу программу заново. Надеюсь, что вы догадались, что произойдет
Обратите внимание на последний символ в строках Message и Mess2 — $. Он указывает на конец строки. Если мы его уберем, то 21 h прерывание продолжит вывод до тех пор, пока не встретится где-нибудь в памяти символ $. На экране мы увидим мусор .
Если у вас есть отладчик, то можно посмотреть как будет работать наша программа.
Целю настоящего выпуска не было разобраться подробно с каждым оператором . Это невозможно, т.к. у вас еще недостаточно знаний. Я полагаю, что уже через 3-4 выпуска вы поймете принцип и структуру программы на Ассемблере. Может быть, вам показался язык Ассемблера чрезвычайно сложным, но это, поверьте, с первого взгляда.
Рекомендуем также
Шестнадцатеричная система счисления
⇐ ПредыдущаяСтр 36 из 37Следующая ⇒Алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (буквы латинского алфавита заменяю недостающие цифры системы счисления и соответствуют числам 10, 11, 12, 13, 14, 15).
Основание S = 16
Базис – степени числа 16: 160, 161, 162, 163, …или 1, 16, 256, 4096, …
Представим любое 16-ричное число через его цифры и веса разрядов:
A5D16 = D×160 + 5×161 + A×162 = 13×1 + 5×16 + 10×256 = 265310
Этим же способом любое 16-ричное число переводится в десятичную систему счисления.
Обратный перевод – из десятичной в 16-ричную систему счисления – осуществляется последовательным деление десятичного числа на основание 16-ричной системы счисления 16 и считыванием остатков от деления справа налево:
2653/16 = 165 остаток 13, то есть D
165/16 = 10 остаток 5
10/16 = 0 остаток 10, то есть A, получаем A5D16.
Особый случай перевода – двоично-шестнадцатеричный
Для перевода двоичного числа в 16-ричное необходимо:
1. разбить двоичное число справа налево по четыре цифры (недостающие слева дополнить нулями):
100110001012 = 0100 1100 01012
2. каждую четверку цифр представить числом в 16-ричной системе счисления:
0100 1100 01012 = 4C516
4 12=C 5
Для перевода 16-ричного числа в двоичное необходимо каждую цифру 16-ричного числа представить ее четырехразрядным двоичным эквивалентом:
A5D16 = 1010 0101 11012
A 5 D
Для быстрого перевода чисел из одной системы счисления в другую полезно запомнить следующую таблицу соответствия:
10-я | ||||||||||||||||
2-я | ||||||||||||||||
16-я | A | B | C | D | E | F |
Арифметические операции в двоичной системе счисления
Таблица сложения двоичной системы счисления состоит из четырех строк:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (ноль в младшем разряде и единица переноса в старшем)
Сложим два двоичных числа:
Переносы
10110110012
+
1110110112
————-
100101101002
Вычтем одно двоичное число из другого, притом в старшем разряде при необходимости занимаем две единицы младшего:
10111110012
—
1110110112
————-
1000111102
Результат вычитания можно проверить обратным сложением:
1000111102
+
1110110112
————-
10111110012
Арифметические операции в восьмеричной системе счисления
Они выполняются по знакомым нам правилам вычислений в десятичной системе счисления, за исключением того, что старшая цифра не 9, а 7:
Перенос
5638
+
528
——
6358
Рассмотрим образование следующей суммы:
68
+
58
—
138
Добавляем к первому слагаемому недостающее число до 8 – основания системы счисления. Это число 2, которое мы берем из второго слагаемого. Во втором слагаемом остается 3, которое и записывается в этот разряд, а единица переноса уходит в старший разряд суммы.
При вычитании чисел из старшего разряда при необходимости занимаем восемь единиц младшего:
5238
—
528
——
4518
Арифметические операции в 16-ричной системе счисления
Они выполняются по знакомым нам правилам вычислений в десятичной системе счисления, за исключением того, что старшая цифра не 9, а F (15):
Перенос
9DA16
+
8216
——
A5C16
Рассмотрим образование следующей суммы:
D16
+
816
—
1516
Добавляем к первому слагаемому (D=13) недостающее число до 16 – основания системы счисления. Это число 3, которое мы берем из второго слагаемого. Во втором слагаемом остается 5, которое и записывается в этот разряд, а единица переноса уходит в старший разряд суммы.
При вычитании чисел из старшего разряда при необходимости занимаем шестнадцать единиц младшего:
A5C16
—
8216
——
9DA16
Приложение 3
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
D в 16 ричной системе. Иллюстрированный самоучитель по цифровой графике
Всем, кто общается с компьютером или другой цифровой техникой, приходилось встречать загадочные записи типа 10FEF, которые кажутся непосвященным каким-то шифром. Что скрывается за этими символами? Оказывается, это просто цифры. Те, которые использует шестнадцатиричная
Системы счисления
Каждый школьник знает или хотя бы где-то слышал, что все цифры, которые мы обычно используем, образуют Это название она носит просто потому, что различных символов в ней всего десять (от 0 до 9). Любое число в нашей привычной системе может быть записано с их помощью. Однако, оказывается, использовать ее удобно бывает далеко не всегда. Например, при обмене информацией между цифровыми устройствами проще всего применять систему счисления, в которой есть только две цифры: «0» — нет сигнала — или «1» — есть сигнал (напряжение или что-то еще). Она называется двоичной. Однако, чтобы описать процессы внутри таких устройств с ее помощью, придется выполнять слишком длинные и трудные для понимания записи. Поэтому была придумана шестнадцатиричная система счисления.
Понятие шестнадцатеричной системы
Почему же для цифровых устройств используется именно система, которая содержит шестнадцать разных символов? Как известно, информация в компьютерах передается в виде байтов, которые обычно содержат 8 бит. А единица данных — машинное слово — включает в себя 2 байта, то есть 16 бит. Таким образом, с помощью шестнадцати разных символов можно описать ту информацию, которая является мельчайшей частицей при обмене. Шестнадцатиричная система счисления включает наши привычные цифры (естественно, от 0 до 9), а также первые буковки (A, B, C, D, E, F). Именно с помощью этих символов принято записывать любую единицу информации. С ними можно производить любые арифметические действия. То есть сложение, вычитание, умножение, деление. Результатом также будет шестнадцатеричное число.
Где применяется
Шестнадцатиричная система используется для записи кодов ошибок. Они могут возникать при работе различных программных продуктов. Например, так кодируются ошибки операционной системы. Каждое число при этом стандартное. Можно выяснить, какая именно ошибка произошла в процессе работы, расшифровав его с помощью инструкции. Также применяются такие символы при написании программ на языках низкого уровня, например ассемблере. Шестнадцатиричная система счисления любима программистами еще и потому, что ее составляющие очень легко могут быть переведены в двоичные, которые являются «родными» для всей цифровой техники. С помощью таких символов описывают также цветовые схемы. Кроме того, абсолютно все файлы в компьютере (и текстовые, и графические, и даже музыкальные или видео) представляются после трансляции в виде последовательности Просматривать исходный удобнее всего как раз в виде шестнадцатеричных символов.
Конечно, любое число можно записать в различных системах счисления. Это и десятичная, и двоичная, и шестнадцатеричная. Чтобы перевести слово из одной из них в другую, следует воспользоваться таким сервисом, как переводчик систем счисления, или сделать это самостоятельно с помощью определенного алгоритма.
Десятичная система | 16-ричная система | Десятичная система | 16-ричная система |
---|---|---|---|
0 | 0 (0000) | 10 | A (1010) |
1 | 1(0001) | 11 | B (1011) |
2 | 2 (0010) | 12 | C (1100) |
3 | 3 (0011) | 13 | D (1101) |
4 | 4 (0100) | 14 | E (1110) |
5 | 5 (0101) | 15 | F (1111) |
6 | 6 (0110) | 16 | 10 (00010000) |
7 | 7 (0111) | 17 | 11 (00010001) |
8 | 8 (1000) | 18 | 12 (00010010) |
9 | 9 (1001) | 19 | 13 (00010011) |
Для перевода 16-ричного числа в десятичное необходимо умножить значение младшего (нулевого) разряда на единицу, значение следующего (первого) разряда на 16, второго разряда на 256 (16 2) и т.д., а затем сложить все произведения. Например, возьмем число A17F :
A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343
Десятичная система | 8-ричная система | Десятичная система | 8-ричная система |
---|---|---|---|
0 | 0 (000) | 10 | 12 (001010) |
1 | 1(001) | 11 | 13 (001011) |
2 | 2 (010) | 12 | 14 (001100) |
3 | 3 (011) | 13 | 15 (001101) |
4 | 4 (100) | 14 | 16 (001110) |
5 | 5 (101) | 15 | 17 (001111) |
6 | 6 (110) | 16 | 20 (010000) |
7 | 7 (111) | 17 | 21 (010001) |
8 | 10 (001000) | 18 | 22 (010010) |
9 | 11 (001001) | 19 | 23 (010011) |
Но каждому специалисту по цифровой аппаратуре (разработчику, оператору, ремонтнику, программисту и т.д.) необходимо научиться так же свободно обращаться с 16-ричной и двоичной системами, как и с обычной десятичной, чтобы никаких переводов из системы в систему не требовалось.
Значительно реже, чем 16-ричное, используется восьмеричное кодирование , которое строится по такому же принципу, что и 16-ричное, но двоичные разряды разбиваются на группы по три разряда. Каждая группа (разряд кода) затем обозначается одним символом. Каждый разряд 8-ричного кода может принимать восемь значений: 0, 1, 2, 3, 4, 5, 6, 7 (табл. 2.5) .
Помимо рассмотренных кодов, существует также и так называемое двоично-десятичное представление чисел. Как и в 16-ричном коде, в двоично-десятичном коде каждому разряду кода соответствует четыре двоичных разряда, однако каждая группа из четырех двоичных разрядов может принимать не шестнадцать, а только десять значений, кодируемых символами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. То есть одному десятичному разряду соответствует четыре двоичных. В результате получается, что написание чисел в двоично-десятичном коде ничем не отличается от написания в обычном десятичном коде (табл. 2.6) , но в реальности это всего лишь специальный двоичный код, каждый разряд которого может принимать только два значения: 0 и 1. Двоично-десятичный код иногда очень удобен для организации десятичных цифровых индикаторов и табло.
Десятичная система | Двоично-десятичная система | Десятичная система | Двоично-десятичная система |
---|---|---|---|
0 | 0 (0000) | 10 | 10 (00010000) |
1 | 1(0001) | 11 | 11 (00010001) |
2 | 2 (0010) | 12 | 12 (00010010) |
3 | 3 (0011) | 13 | 13 (00010011) |
4 | 4 (0100) | 14 | 14 (00010100) |
5 | 5 (0101) | 15 | 15 (00010101) |
6 | 6 (0110) | 16 | 16 (00010110) |
7 | 7 (0111) | 17 | 17 (00010111) |
8 | 8 (1000) | 18 | 18 (00011000) |
9 | 9 (1001) | 19 | 19 (00011001) |
В двоичном коде над числами можно проделывать любые арифметические операции : сложение , вычитание , умножение , деление .
Рассмотрим, например, сложение двух 4-разрядных двоичных чисел. Пусть надо сложить число 0111 (десятичное 7) и 1011 (десятичное 11). Сложение этих чисел не сложнее, чем в десятичном представлении:
При сложении 0 и 0 получаем 0, при сложении 1 и 0 получаем 1, при сложении 1 и 1 получаем 0 и перенос в следующий разряд 1. Результат — 10010 (десятичное 18). При сложении любых двух n-разрядных двоичных чисел может получиться n-разрядное или (n+1) -разрядное число.
Точно так же производится вычитание . Пусть из числа 10010 (18) надо вычесть число 0111 (7). Записываем числа с выравниванием по младшему разряду и вычитаем точно так же, как в случае десятичной системы:
При вычитании 0 из 0 получаем 0, при вычитании 0 из 1 получаем 1, при вычитании 1 из 1 получаем 0, при вычитании 1 из 0 получаем 1 и заем 1 в следующем разряде. Результат — 1011 (десятичное 11).
При вычитании возможно получение отрицательных чисел, поэтому необходимо использовать двоичное представление отрицательных чисел.
Для одновременного представления как двоичных положительных, так и двоичных отрицательных чисел чаще всего используется так называемый дополнительный код . Отрицательные числа в этом коде выражаются таким числом, которое, будучи сложено с положительным числом такой же величины, даст в результате нуль. Для того чтобы получить отрицательное число, надо поменять все биты такого же положительного числа на противоположные (0 на 1, 1 на 0) и прибавить к результату 1. Например, запишем число –5. Число 5 в двоичном коде выглядит 0101. Заменяем биты на противоположные: 1010 и прибавляем единицу: 1011. Суммируем результат с исходным числом: 1011 + 0101 = 0000 (перенос в пятый разряд игнорируем).
по модулю 2 два двоичных числа 0111 и 1011:
Среди других побитовых операций над двоичными числами можно отметить функцию И и функцию ИЛИ. Функция И дает в результате единицу только тогда, когда в соответствующих битах двух исходных чисел обе единицы, в противном случае результат -0. Функция ИЛИ дает в результате единицу тогда, когда хотя бы один из соответствующих битов исходных чисел равен 1, в противном случае результат 0.
Шестнадцатеричная запись («Hex») — удобный способ представления двоичных значений. Так же, как десятичная система счисления имеет основание десять, а двоичная — два, шестнадцатеричная система имеет основание шестнадцать.
Система счисления с основанием 16 использует числа от 0 до 9 и буквы от A до F. Рисунок показывает эквивалентные десятичные, двоичные и шестнадцатеричные значения для двоичных чисел от 0000 до 1111. Для нас легче выражать значение в виде одной шестнадцатеричной цифры, чем в виде четырех битов.
Понимание Байтов
Учитывая, что 8 битов (байт) являются стандартной двоичной группировкой, двоичные числа от 00000000 до 11111111 могут быть представлены в шестнадцатеричной записи как числа от 00 до FF. Начальные нули всегда отображаются, чтобы завершить 8-разрядное представление. Например, двоичное значение 0000 1010 в шестнадцатеричном виде будет 0A.
Представление Шестнадцатеричных Значений
Отметьте: Важно отличать шестнадцатеричные значения от десятичных значений для символов от 0 до 9, как показано на рисунке.
Шестнадцатеричные значения обычно представляются в тексте значением, которому предшествует 0x (например 0x73), или с помощью нижнего индекса 16. Реже, они могут сопровождаться буквой H, например 73H. Однако, поскольку текст нижнего индекса не распознается ни в командной строке, ни в средах программирования, в техническом представлении шестнадцатеричных чисел им предшествует «0x» (нуль X). Поэтому, примеры выше были бы показаны в виде 0x0A и 0x73 соответственно.
Шестнадцатеричная запись используется, чтобы представлять MAC-адреса Ethernet и адреса IP Версии 6.
Шестнадцатеричные Преобразования
Преобразования чисел между десятичными и шестнадцатеричными значениями являются простыми, но быстрое деление или умножение на 16 не всегда удобно. Если такие преобразования необходимы, обычно легче преобразовать десятичное или шестнадцатеричное значение в двоичное, а затем преобразовать двоичное значение в десятичное или шестнадцатеричное, в зависимости от того, что требуется получить.
С практикой возможно распознать двоичные шаблоны битов, которые соответствуют десятичным и шестнадцатеричным значениям. Рисунок показывает эти шаблоны для некоторых 8-разрядных значений.
Возникла в древнем Вавилоне. В Индии система работает в виде позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали называть арабской.
Позиционная система счисления — значение всех цифр зависит от позиции (разряда) данной цифры в числе.
Примеры , стандартная десятичная система счисления — это позиционная система. Допустим, дано число 453 . Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50 , а 3 — единицы и значению 3 . Легко заметить, что с увеличением разряда увеличивается значение. Таким образом, заданное число запишем в виде суммы 400+50+3=453.
Шестнадцатеричная система счисления.
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления. Основанием шестнадцатеричной системы счисления является число 16.
Записывая числа в восьмеричной системе счисления мы получаем довольно компактные выражения, однако в шестнадцатеричной системе мы получаем выражения более компактными.
Первыми десятью цифрами из шестнадцати шестнадцатеричных цифрах является стандартный интервал 0 — 9 , последующие шесть цифр выражают при помощи первых букв латинского алфавита: A , B , C , D , E , F . Перевод из шестнадцатеричной системы в двоичную систему и в обратную сторону делают аналогично процессу для восьмеричной системы.
Применение шестнадцатеричной системы счисления.
Шестнадцатеричную систему счисления довольно хорошо используют в современных компьютерах, например с ее помощью указывают цвет: #FFFFFF — белый цвет.
Перевод чисел из одной системы счисления в другую.
Перевод чисел из шестнадцатеричной системы в десятичную.
Что бы перевести шестнадцатеричное число в десятичное , нужно заданное число привести к виду суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например , переведем шестнадцатеричное число 5A3 в десятичное. Здесь 3 цифры. Исходя их выше сказанного правила, приведем его к виду суммы степеней с основанием 16:
5A3 16 = 3·16 0 +10·16 1 +5·16 2 = 3·1+10·16+5·256 = 3+160+1280 = 1443 10
Перевод чисел из двоичной системы в шестнадцатеричную и наоборот.
Для перевода многозначного двоичного числа в шестнадцатеричную систему необходимо разделить его на тетрады справа налево и поменять все тетрады соответствующей шестнадцатеричной цифрой. Для перевода числа из шестнадцатеричной системы в двоичную необходимо поменять каждую все цифры на соответствующие тетрады из таблицы перевода, которую вы найдете ниже.
Например :
010110100011 2 = 0101 1010 0011 = 5A3 16
Таблица перевода чисел.
Алгоритм перевода чисел из одной системы счисления в другую.
1. Из десятичной системы счисления:
- делим число на основание переводимой системы счисления;
- находим остаток от деления целой части числа;
- записываем все остатки от деления в обратном порядке;
2. Из двоичной системы счисления:
- для перевода в десятичную систему счисления находим сумму произведений основания 2 на соответствующую степень разряда;
- для перевода числа в восьмеричную разбиваем число на триады.
Например, 1000110 = 1 000 110 = 1068
- для перевода числа из двоичной системы счисления в шестнадцатеричную разбиваем число на группы по 4 разряда.
Например, 1000110 = 100 0110 = 4616.
Таблицы для перевода:
Двоичная СС | Шестнадцатеричная СС |
0000 | |
0001 | |
0010 | |
0011 | |
0100 | |
0101 | |
0110 | |
0111 | |
1000 | |
1001 | |
1010 | |
1011 | |
1100 | |
1101 | |
1110 | |
1111 |
Результат уже получен!
Системы счисления
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:
Тогда число 6372 можно представить в следующем виде:
6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .
Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.
Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:
Тогда число 1287.923 можно представить в виде:
1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .
В общем случае формулу можно представить в следующем виде:
Ц n ·s n +Ц n-1 ·s n-1 +…+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +…+Д -k ·s -k
где Ц n -целое число в позиции n , Д -k — дробное число в позиции (-k), s — система счисления.
Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления — из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления — из множества цифр {0,1}, в шестнадцатеричной системе счисления — из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.
Таблица 1 | |||
---|---|---|---|
Система счисления | |||
10 | 2 | 8 | 16 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E | 15 | 1111 | 17 | F |
Перевод чисел из одной системы счисления в другую
Для перевода чисел с одной системы счисления в другую, проще всего сначала перевести число в десятичную систему счисления, а затем, из десятичной системы счисления перевести в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.
Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:
1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125
Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:
Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:
Здесь A -заменен на 10, B — на 11, C — на 12, F — на 15.
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления нужно переводить отдельно целую часть числа и дробную часть числа.
Целую часть числа переводится из десятичной СС в другую систему счисления — последовательным делением целой части числа на основание системы счисления (для двоичной СС — на 2, для 8-ичной СС — на 8, для 16-ичной — на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.
Пример 4 . Переведем число 159 из десятичной СС в двоичную СС:
159 | 2 | ||||||
158 | 79 | 2 | |||||
1 | 78 | 39 | 2 | ||||
1 | 38 | 19 | 2 | ||||
1 | 18 | 9 | 2 | ||||
1 | 8 | 4 | 2 | ||||
1 | 4 | 2 | 2 | ||||
0 | 2 | 1 | |||||
0 |
Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:
159 10 =10011111 2 .
Пример 5 . Переведем число 615 из десятичной СС в восьмеричную СС.
615 | 8 | ||
608 | 76 | 8 | |
7 | 72 | 9 | 8 |
4 | 8 | 1 | |
1 |
При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:
615 10 =1147 8 .
Пример 6 . Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 — D. Следовательно наше шестнадцатеричное число — это 4CD9.
Для перевода правильных десятичных дробей (вещественное число с нулевой целой частью) в систему счисления с основанием s необходимо данное число последовательно умножить на s до тех пор, пока в дробной части не получится чистый нуль, или же не получим требуемое количество разрядов. Если при умножении получится число с целой частью, отличное от нуля, то эту целую часть не учитывать (они последовательно зачисливаются в результат).
Рассмотрим вышеизложенное на примерах.
Пример 7 . Переведем число 0.214 из десятичной системы счисления в двоичную СС.
0.214 | ||
x | 2 | |
0 | 0.428 | |
x | 2 | |
0 | 0.856 | |
x | 2 | |
1 | 0.712 | |
x | 2 | |
1 | 0.424 | |
x | 2 | |
0 | 0.848 | |
x | 2 | |
1 | 0.696 | |
x | 2 | |
1 | 0.392 |
Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .
Следовательно можно записать:
0.214 10 =0.0011011 2 .
Пример 8 . Переведем число 0.125 из десятичной системы счисления в двоичную СС.
0.125 | ||
x | 2 | |
0 | 0.25 | |
x | 2 | |
0 | 0.5 | |
x | 2 | |
1 | 0.0 |
Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:
0.125 10 =0.001 2 .
Пример 9 . Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.
0.214 | ||
x | 16 | |
3 | 0.424 | |
x | 16 | |
6 | 0.784 | |
x | 16 | |
12 | 0.544 | |
x | 16 | |
8 | 0.704 | |
x | 16 | |
11 | 0.264 | |
x | 16 | |
4 | 0.224 |
Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:
0.214 10 =0.36C8B4 16 .
Пример 10 . Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.
0.512 | ||
x | 8 | |
4 | 0.096 | |
x | 8 | |
0 | 0.768 | |
x | 8 | |
6 | 0.144 | |
x | 8 | |
1 | 0.152 | |
x | 8 | |
1 | 0.216 | |
x | 8 | |
1 | 0.728 |
Получили:
0.512 10 =0.406111 8 .
Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:
159.125 10 =10011111.001 2 .
Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.
16 Ричная система в двоичную
С помощю этого онлайн калькулятора можно перевести целые и дробные числа из одной системы счисления в другую. Дается подробное решение с пояснениями. Для перевода введите исходное число, задайте основание сисемы счисления исходного числа, задайте основание системы счисления, в которую нужно перевести число и нажмите на кнопку «Перевести». Теоретическую часть и численные примеры смотрите ниже.
Предупреждение
Перевод целых и дробных чисел из одной системы счисления в любую другую − теория, примеры и решения
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:
число | 6 | 3 | 7 | 2 |
позиция | 3 | 2 | 1 |
Тогда число 6372 можно представить в следующем виде:
6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .
Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.
Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:
число | 1 | 2 | 8 | 7 | . | 9 | 2 | 3 |
позиция | 3 | 2 | 1 | -1 | -2 | -3 |
Тогда число 1287.923 можно представить в виде:
1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .
В общем случае формулу можно представить в следующем виде:
где Цn-целое число в позиции n, Д-k— дробное число в позиции (-k), s — система счисления.
Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр <0,1,2,3,4,5,6,7,8,9>, в восьмеричной системе счисления — из множества цифр <0,1,2,3,4,5,6,7>, в двоичной системе счисления — из множества цифр <0,1>, в шестнадцатеричной системе счисления — из множества цифр <0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F>, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.
В таблице Таб.1 представлены числа в разных системах счисления.
Таблица 1 | |||
---|---|---|---|
Система счисления | |||
10 | 2 | 8 | 16 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
Перевод чисел из одной системы счисления в другую
Для перевода чисел с одной системы счисления в другую, проще всего сначала перевести число в десятичную систему счисления, а затем, из десятичной системы счисления перевести в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.
Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:
1·2 6 + 0 ·2 5 + 1·2 4 + 1·2 3 + 1·2 2 + 0·2 1 + 1·2 0 + 0·2 -1 + 0·2 -2 + 1·2 -3 =64+16+8+4+1+1/8=93.125
Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:
Пример 3. Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:
Здесь A -заменен на 10, B — на 11, C- на 12, F — на 15.
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления нужно переводить отдельно целую часть числа и дробную часть числа.
Целую часть числа переводится из десятичной СС в другую систему счисления — последовательным делением целой части числа на основание системы счисления (для двоичной СС — на 2, для 8-ичной СС — на 8, для 16-ичной — на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.
Пример 4. Переведем число 159 из десятичной СС в двоичную СС:
159 | 2 | ||
158 | 79 | 2 | |
1 | 78 | 39 | 2 |
1 | 38 | 19 | 2 |
1 | 18 | 9 | 2 |
1 | 8 | 4 | 2 |
1 | 4 | 2 | 2 |
2 | 1 | ||
Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111. Следовательно можно записать:
Пример 5. Переведем число 615 из десятичной СС в восьмеричную СС.
При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147(см. Рис. 2). Следовательно можно записать:
Пример 6. Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 — D. Следовательно наше шестнадцатеричное число — это 4CD9.
Далее рассмотрим перевод правильных десятичных дробей в двоичную СС, в восьмеричную СС, в шестнадцатеричную СС и т.д.
Для перевода правильных десятичных дробей (вещественное число с нулевой целой частью) в систему счисления с основанием s необходимо данное число последовательно умножить на s до тех пор, пока в дробной части не получится чистый нуль, или же не получим требуемое количество разрядов. Если при умножении получится число с целой частью, отличное от нуля, то эту целую часть не учитывать (они последовательно зачисливаются в результат).
Рассмотрим вышеизложенное на примерах.
Пример 7. Переведем число 0.214 из десятичной системы счисления в двоичную СС.
0.214 | |
x | 2 |
0.428 | |
x | 2 |
0.856 | |
x | 2 |
1 | 0.712 |
x | 2 |
1 | 0.424 |
x | 2 |
0.848 | |
x | 2 |
1 | 0.696 |
x | 2 |
1 | 0.392 |
Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0. 0011011.
Следовательно можно записать:
Пример 8. Переведем число 0.125 из десятичной системы счисления в двоичную СС.
Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:
Пример 9. Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.
0.214 | |
x | 16 |
3 | 0.424 |
x | 16 |
6 | 0.784 |
x | 16 |
12 | 0.544 |
x | 16 |
8 | 0.704 |
x | 16 |
11 | 0.264 |
x | 16 |
4 | 0.224 |
Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:
Пример 10. Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.
0.512 | |
x | 8 |
4 | 0.096 |
x | 8 |
0.768 | |
x | 8 |
6 | 0.144 |
x | 8 |
1 | 0.152 |
x | 8 |
1 | 0.216 |
x | 8 |
1 | 0.728 |
Пример 11. Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:
Пример 12. Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим:
С помощю этого онлайн калькулятора можно перевести целые и дробные числа из одной системы счисления в другую. Дается подробное решение с пояснениями. Для перевода введите исходное число, задайте основание сисемы счисления исходного числа, задайте основание системы счисления, в которую нужно перевести число и нажмите на кнопку «Перевести». Теоретическую часть и численные примеры смотрите ниже.
Предупреждение
Перевод целых и дробных чисел из одной системы счисления в любую другую − теория, примеры и решения
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:
число | 6 | 3 | 7 | 2 |
позиция | 3 | 2 | 1 |
Тогда число 6372 можно представить в следующем виде:
6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .
Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.
Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:
число | 1 | 2 | 8 | 7 | . | 9 | 2 | 3 |
позиция | 3 | 2 | 1 | -1 | -2 | -3 |
Тогда число 1287.923 можно представить в виде:
1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .
В общем случае формулу можно представить в следующем виде:
где Цn-целое число в позиции n, Д-k— дробное число в позиции (-k), s — система счисления.
Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр <0,1,2,3,4,5,6,7,8,9>, в восьмеричной системе счисления — из множества цифр <0,1,2,3,4,5,6,7>, в двоичной системе счисления — из множества цифр <0,1>, в шестнадцатеричной системе счисления — из множества цифр <0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F>, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.
В таблице Таб.1 представлены числа в разных системах счисления.
Таблица 1 | |||
---|---|---|---|
Система счисления | |||
10 | 2 | 8 | 16 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
Перевод чисел из одной системы счисления в другую
Для перевода чисел с одной системы счисления в другую, проще всего сначала перевести число в десятичную систему счисления, а затем, из десятичной системы счисления перевести в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.
Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:
1·2 6 + 0 ·2 5 + 1·2 4 + 1·2 3 + 1·2 2 + 0·2 1 + 1·2 0 + 0·2 -1 + 0·2 -2 + 1·2 -3 =64+16+8+4+1+1/8=93.125
Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:
Пример 3. Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:
Здесь A -заменен на 10, B — на 11, C- на 12, F — на 15.
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления нужно переводить отдельно целую часть числа и дробную часть числа.
Целую часть числа переводится из десятичной СС в другую систему счисления — последовательным делением целой части числа на основание системы счисления (для двоичной СС — на 2, для 8-ичной СС — на 8, для 16-ичной — на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.
Пример 4. Переведем число 159 из десятичной СС в двоичную СС:
159 | 2 | ||
158 | 79 | 2 | |
1 | 78 | 39 | 2 |
1 | 38 | 19 | 2 |
1 | 18 | 9 | 2 |
1 | 8 | 4 | 2 |
1 | 4 | 2 | 2 |
2 | 1 | ||
Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111. Следовательно можно записать:
Пример 5. Переведем число 615 из десятичной СС в восьмеричную СС.
При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147(см. Рис. 2). Следовательно можно записать:
Пример 6. Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 — D. Следовательно наше шестнадцатеричное число — это 4CD9.
Далее рассмотрим перевод правильных десятичных дробей в двоичную СС, в восьмеричную СС, в шестнадцатеричную СС и т.д.
Для перевода правильных десятичных дробей (вещественное число с нулевой целой частью) в систему счисления с основанием s необходимо данное число последовательно умножить на s до тех пор, пока в дробной части не получится чистый нуль, или же не получим требуемое количество разрядов. Если при умножении получится число с целой частью, отличное от нуля, то эту целую часть не учитывать (они последовательно зачисливаются в результат).
Рассмотрим вышеизложенное на примерах.
Пример 7. Переведем число 0.214 из десятичной системы счисления в двоичную СС.
0.214 | |
x | 2 |
0.428 | |
x | 2 |
0.856 | |
x | 2 |
1 | 0.712 |
x | 2 |
1 | 0.424 |
x | 2 |
0.848 | |
x | 2 |
1 | 0.696 |
x | 2 |
1 | 0.392 |
Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0. 0011011.
Следовательно можно записать:
Пример 8. Переведем число 0.125 из десятичной системы счисления в двоичную СС.
Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:
Пример 9. Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.
0.214 | |
x | 16 |
3 | 0.424 |
x | 16 |
6 | 0.784 |
x | 16 |
12 | 0.544 |
x | 16 |
8 | 0.704 |
x | 16 |
11 | 0.264 |
x | 16 |
4 | 0.224 |
Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:
Пример 10. Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.
0.512 | |
x | 8 |
4 | 0.096 |
x | 8 |
0.768 | |
x | 8 |
6 | 0.144 |
x | 8 |
1 | 0.152 |
x | 8 |
1 | 0.216 |
x | 8 |
1 | 0.728 |
Пример 11. Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:
Пример 12. Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим:
Поставить LIKE | и поделиться ссылкой |
|
Результат: | |
bed040 Показать как оно получилось |
Ура. Вам стало интересно как получилось данное число
Вы ввели число: 2023250 в 50-ричной системе счисления и хотите перевести его в 16-ричную.
Для этого переведем его сначала в десятичную вот так :
2023250 = 2∙50 4 +0∙50 3 +2∙50 2 +3∙50 1 +2∙50 0 = 12500000+0+5000+150+2 = 1250515210
Переведем 1250515210 в 16-ричную систему вот так:
Целая часть числа находится делением на основание новой
12505152 | 16 | ||||
-12505152 | 781572 | 16 | |||
-781568 | 48848 | 16 | |||
4 | -48848 | 3053 | 16 | ||
-3040 | 190 | 16 | |||
13=D | -176 | 11 | |||
14=E | |||||
Получилось: 1250515210 = bed04016
Результат перевода:
2023250 = bed04016
Постоянная ссылка на результат этого расчета
- Введите число которое надо перевести.
- Укажите его систему счисления.
- Укажите в какую систему счисления переводить.
- Нажмите кнопку «Перевести».
Калькулятор перевода чисел имеет одно поле для ввода. В это поле необходимо ввести число которое Вы хотите перевести.
После этого Вам обязательно нужно указать в какой системе счисления Вы его ввели. Для этого под полем ввода есть графа «Его система счисления».
Если Вы не нашли своей системы, то выберите графу «другая» и появится поле ввода . В это поле необходимо вписать основание системы одним числом без пробелов.
Далее необходимо выбрать в какую систему хотите перевести данное число. Если Вы опять не нашли нужной системы то введите ее в графе «другая».
После нажмите кнопку «ПЕРЕВЕСТИ» и результат появится в соответствующем поле. Если Вы хотите получить подробный ход решения, то нажмите на соответствующую ссылку.
Научиться переводить число из одной системы счисления в другую очень просто.
Любое число может быть легко переведено в десятичную систему по следующему алгоритму:
Каждая цифра числа должна быть умножена на основание системы счисления этого числа возведенное в степень равное позиции текущей цифры в числе справа налево, причём счёт начинается с 0.
Рекомендуем к прочтению
шестнадцатеричных чисел | Brilliant Math & Science Wiki
Шестнадцатеричные числа (также известные как основание 16) — это система чисел, состоящая из 16 цифр вместо 10. Эти цифры равны
.0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F, 0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, A, B, C, D, E, F, 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F,
, где AAA — 10, BBB — 11 и т. Д.
В шестнадцатеричной системе разрядное значение определяется степенью 16 вместо 10. Например,
2A316 = 2 × 162 + 10 × 161 + 3 × 160 = 67510.0 = 32768 + 3072 + 144 + 1 = 35985_ {10}. 8 × 163 + 12 × 162 + 9 × 161 + 1 × 160 = 32768 + 3072 + 144 + 1 = 3598510.
Следовательно, ответ 35985,35985,35985. □ _ \ квадрат □
Теперь, когда вы узнали о шестнадцатеричных числах, попробуйте решить эту задачу:
44271 64206 175316 15101214
Сколько стоит
FACE16? ЛИЦО_ {16}? ЛИЦО16?
Найдите сумму 3A5163A5_ {16} 3A516 и 2D1162D1_ {16} 2D116 по основанию 16.0 = 676_ {16}, 1654 = 6 × 162 + 7 × 161 + 6 × 160 = 67616, ответ — 67616,676_ {16} 0,67616. □ _ \ квадрат □
Однако, если потренироваться, сумма также может быть получена без изменения базы обратно на 10. Например,
Найдите сумму 3A5163A5_ {16} 3A516 и 2D1162D1_ {16} 2D116 в базе 16.
У нас
3A5 + 2D1 = 3A0 + 2D0 + 6 = 300 + 200 + 176 = 676. \ Begin {align} 3A5 + 2D1 & = 3A0 + 2D0 + 6 \\ & = 300 + 200 + 176 \\ & = 676. \ end {align} 3A5 + 2D1 = 3A0 + 2D0 + 6 = 300 + 200 + 176 = 676.
Обратите внимание, что все числа в этом сегменте имеют основание 16. □ _ \ square □
Умножение будет сложным, так как вместо таблицы умножения 10 × 1010 \ раз 1010 × 10 у нас есть единица 16 × 1616 \ раз 1616 × 16. Гораздо сложнее!
Посмотрите на следующий пример:
Найдите продукт 3A5163A5_ {16} 3A516 и 2D1162D1_ {16} 2D116 в базе 16.
У нас
3A5 × 2D1 = 74A00 + 2F610 + 3A5 = A43B5.3A5 \ times 2D1 = 74A00 + 2F610 + 3A5 = A43B5.3A5 × 2D1 = 74A00 + 2F610 + 3A5 = A43B5.
В базе 10 мы только что вычислили
721 × 933 = 672693. □ 721 \ times 933 = 672693. \ _ \ square721 × 933 = 672693. □
Почему шестнадцать такие сладкие?
Почему шестнадцать такие сладкие?
Давным-давно люди разработали систему счета, основанную на десятках, по очень уважительной причине. У нас 10 пальцев! У нас всегда есть «удобный» способ следить за происходящим.
Но эта система не так хорошо работает с компьютерами.Так была изобретена другая система: шестнадцатеричная, или «шестнадцатеричная».
«Hexadeci-» означает 16. Вместо 10 цифр (от 0 до 9) в шестнадцатеричной системе 16 цифр (от 0 до 15). Hex использует буквы для цифр больше 9:
А = 10
В = 11
С = 12
D = 13
E = 14
F = 15
Вместо того, чтобы преобразовывать данные космического корабля из двоичных в десятичные числа, инженеры конвертируют из двоичных в шестнадцатеричные.
Зачем им это делать?
Ну, не всякая информация, поступающая в компьютер или исходящая из него, на самом деле является числом. Иногда это действительно правда или ложь, включен или выключен, или один из «множественного выбора». Иногда информация — это слово. Оказывается, шестнадцатеричный и двоичный код созданы друг для друга.
Так что нам будет легче говорить, вот несколько терминов. Одна двоичная цифра называется бит .Четыре сгруппированных бита называются nybble . И два ниббля составляют (что еще?) Байт !
Если вы расположите биты всевозможными способами, вы получите только 16 возможностей.
Это шестнадцатеричные числа от 0 до 15:
0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = 10 (или A в шестнадцатеричном формате)
1011 = 11 (В)
1100 = 12 (К)
1101 = 13 (Д)
1110 = 14 (E)
1111 = 15 (Ж)
Видите? Мы знаем, что шестнадцатеричное число 9 может быть , только может быть 1001 в двоичном формате.А шестнадцатеричное число A может быть , только может быть 1010.
Одна двоичная цифра называется бит . Четыре сгруппированных бита называются nybble . И два ниббля составляют (что еще?) Байт !
Hex оказался отличным способом сжатия данных. Вы можете поместить четыре отдельных элемента информации всего в одну шестнадцатеричную цифру.
Таким образом, инженер космического корабля может сказать, что в конкретном ночном клубе первый бит означает, что переключатель нагревателя установлен в положение ВКЛ (если 1) или ВЫКЛ (если 0).Второй бит может означать, что частица пыли попала (1) или не попала (0) в крошечный датчик. И так далее.
Десятичные числа не так удобны. Например, посмотрите на это:
шестигранник | двоичный | Десятичное число |
9999 | 1001 1001 1001 1001 | 39 321 |
АОАО | 1010 0000 1010 0000 | 41,120 |
AAAA | 1010 1010 1010 1010 | 43 690 |
Что число 39 321 говорит вам о равном ему двоичном числе? Немногое без специального калькулятора для перевода! Но шестнадцатеричное число 9999 говорит вам, какие именно биты являются единицами, а какие — нулями!
Итак, видите ли, математические системы действительно похожи на языки.Мы изобретаем их, чтобы служить нашим целям. И именно на языке шестнадцатеричных чисел теперь основаны почти все компьютеры — и космические корабли!
Что такое шестнадцатеричный? — Определение и преобразование
Шестнадцатеричные разрядные значения
Система счисления, которую мы используем каждый день, — десятичная, а ее разрядные значения — это столбец единиц, столбец десятков (который представляет собой число x 10), столбец сотен (который представляет собой число x 10 x 10) , и так далее.После разряда единиц значение каждого разряда увеличивается в 10 степени.
В шестнадцатеричной системе счисления (с основанием шестнадцати) также есть разрядные значения, но они разные. Он начинается с единиц, и каждое разрядное значение увеличивается в степени 16. Итак, есть столбец единиц, столбец шестнадцати (который представляет собой число x 16), столбец двести пятьдесят шестерок (который представляет цифра x 16 x 16) и так далее.
Сравнение разрядных значений с основанием десять и шестнадцать
Давайте воспользуемся числом 17 для сравнения десятичной системы и шестнадцатеричной системы счисления.
Взгляните на десятичную диаграмму. В разряде единиц вы можете подняться только до 9. После этого — чтобы представить десятку — вы должны перейти к разряду десятков.Итак, чтобы показать 17, вы делаете одну отметку в столбце разряда десятков и семь знаков в столбце разряда единиц.
На диаграмме с основанием шестнадцати можно поставить до 15 отметок в одном месте. После этого — чтобы представить 16 — вам нужно перейти на шестнадцатое место. Итак, чтобы показать 17, вы делаете одну отметку на шестнадцатом месте и одну отметку на единичном месте.
Преобразование шестнадцатеричного числа в десятичное
Итак, предположим, у вас есть шестнадцатеричное число 4C7. Чтобы преобразовать это число в систему с десятичным основанием, мы должны смотреть на каждое разрядное значение отдельно и соответственно умножать число.
Начните с единиц и продвигайтесь дальше, чтобы преобразовать 4C7 в десятичную систему:
- 7 находится в единицах, поэтому вы умножаете 7 x 1, что составляет просто 7.
- C на шестнадцатом месте. Мы знаем, что C равно 12, поэтому умножаем 12 x 16 и получаем 192.
- Четверка находится в столбце двести пятьдесят шестерок. Итак, умножаем 4 x 16 x 16, чтобы получить 1024.
Когда мы сложим все это вместе, мы получим: 1024 + 192 + 7 = 1223 по основанию десять.
Краткое содержание урока
Шестнадцатеричная система счисления — это система счисления, основанная на числе шестнадцать.Значения разряда увеличиваются в степени 16, так что есть разряд единиц, разряд шестнадцати (где вы умножаете число x 16) и разряд двести пятьдесят шестерок (где вы умножаете число x 16 x 16). ). Затем вы добавляете произведения этих значений разряда, чтобы преобразовать их в десятичную систему.
Терминология— Что такое шестнадцатеричная система?
В настоящее время используются различные системы представления чисел (= включают):
двоичную, восьмеричную, десятичную и шестнадцатеричную.
Какой из них выбрать, часто зависит от простоты использования для конкретной задачи.
двоичный код используется в компьютерных системах и цифровой технике в целом, так как его легко представить в электронике; функции для чисел с основанием 2 легко построить, как и представление включения / выключения, истина / ложь или любой другой подобной повторяющейся информации с двумя состояниями.
восьмеричный хорошо иметь, если есть группы из трех двоичных цифр, например как в случае с настройками разрешений в Unix / Linux.
пропускает на мгновение десятичную дробь, шестнадцатеричная хороша так же, как восьмеричная, но для четырех двоичных цифр, и тот факт, что 8 битов, один байт, хорошо вписываются в две шестнадцатеричные цифры.( = ответ )
Из этого следует, что четные 8-битные группы в компьютере легко записываются, представляются и понимаются — то есть; очень удобно в повседневном использовании при написании программного обеспечения, обработке данных (например, значения цвета rgb в HTML / CSS), формировании структур данных и т.п.
десятичное . Можно было догадаться, что десятичная система образовалась из того факта, что у нас есть десять пальцев рук и ног. Одна цифра представляет количество подсчитываемых предметов, по одному на каждый палец до десяти.
Это системы счисления с основанием:
2, 8, 10 и 16.
Обычно база показывает, сколько однозначных «предметов» вы можете сосчитать, например в двоичном формате два, в десятичном — десять.
Поскольку в шестнадцатеричном формате 16 однозначных элементов, системе требуется 16 «чисел», поэтому используются 0-9 и a-f (6 дополнительных по сравнению с десятичным), где «a» равно 10, а «f» равно 15 в десятичной системе.
Для продолжения в обычном режиме: любая base 2 или выше работает так же хорошо, как и все остальное, если у вас есть хорошее однозначное представление.
Десятичные числа образуют:
... d * 10³ + c * 10² + b * 10¹ + a * 10⁰
для десятичного числа «dcba» — с d, c, b, a, выбирается из 0123456789
Теперь измените это на:
... d * основание³ + c * основание² + b * основание¹ + a * основание⁰
, и у вас есть более общая форма, которая показывает, как «работает» любая основа 2 или выше;
например пятизначная система с основанием 5 может быть такой же удобной, как и любая из вышеперечисленных, или почему бы не использовать 12-значную (одну дюжину) систему для времени (12 часов = «10» с основанием 12, с первым «десятичным» значением, указывающим, какой 1 / 12 [5 минут] часа это)
Примечание: ⁰¹²³ — верхний индекс 0123, если на экране отображается что-то еще
Шестнадцатеричный преобразователь базы— База 16
Поиск инструмента
Шестнадцатеричный (основание 16)
Инструмент для преобразования в шестнадцатеричное основание (основание 16) или из шестнадцатеричного основания.В шестнадцатеричных числах используются цифры от 0 до 9 и буквы от a до f.
Результаты
Шестнадцатеричный (база 16) — dCode
Тег (ы): Арифметика, информатика
Поделиться
dCode и другие
dCode является бесплатным, а его инструменты являются ценным подспорьем в играх, математике, геокешинге, головоломках и задачах, которые нужно решать каждый день!
Предложение? обратная связь? Жук ? идея ? Запись в dCode !
Конвертер шестнадцатеричного числа в основание N
Конвертер шестнадцатеричного числа N в восьмеричное
Ответы на вопросы (FAQ)
Что такое шестнадцатеричный? (Определение)
Шестнадцатеричный код — это система записи чисел по основанию 16 с символами ‘0,1,2,3,4,5,6,7,8,9, a, b, c, d, e, f ‘.
Эта система получила широкое распространение в информатике, поскольку она позволяет записывать в 1 байт (8 бит) 2 шестнадцатеричных символов .
Как записать число по основанию 16?
Полное объяснение того, как преобразовать из базы 10 в базу 16 (шестнадцать), см. В инструменте преобразования базы N.
Пример: $ 127 _ {(10)} $ (читать 127 в базе 10) записывается $ 7f _ {(16)} $ ( 7f в базе 16)
Пример: $ 255 _ {(10)} $ (читать 255 в базе 10) записывается $ ff _ {(16)} $ ( ff в базе 16)
Как преобразовать / записать шестнадцатеричное число
Как распознать шестнадцатеричные числа?
Шестнадцатеричные числа могут иметь буквы от a до f .
В вычислениях обычно отображается префикс 0x перед числами, чтобы указать, что они находятся в базе 16.
Пример: 0x12 означает, что 12 записано в шестнадцатеричной системе ( в шестнадцатеричной системе )
Задайте новый вопросИсходный код
dCode сохраняет за собой право собственности на исходный онлайн-код «Hexadecimal (Base 16)». За исключением явной лицензии с открытым исходным кодом (обозначенной CC / Creative Commons / free), алгоритма «Шестнадцатеричный (Base 16)», апплета или фрагмента (конвертер, решатель, шифрование / дешифрование, кодирование / декодирование, шифрование / дешифрование, переводчик) или «Шестнадцатеричные (Base 16)» функции (вычисление, преобразование, решение, дешифрование / шифрование, дешифрование / шифрование, декодирование / кодирование, перевод), написанные на любом информационном языке (Python, Java, PHP, C #, Javascript, Matlab и т. д.)), а также все загрузки данных, скрипты, копирование-вставка или доступ к API для «Hexadecimal (Base 16)» не являются общедоступными, то же самое для автономного использования на ПК, планшете, iPhone или Android! Напоминание: dCode можно использовать бесплатно.
Нужна помощь?
Пожалуйста, посетите наше сообщество dCode Discord для запросов о помощи!
NB: для зашифрованных сообщений проверьте наш автоматический идентификатор шифра!
Вопросы / комментарии
Сводка
Похожие страницы
Поддержка
Форум / Справка
Ключевые слова
шестнадцатеричный, шестнадцатеричный, основание 16, основание, 16, система, шестнадцать, 7f, ff, 0x
Ссылки
Источник: https: // www.dcode.fr/hexadecimal-system
© 2021 dCode — Лучший «инструментарий» для решения любых игр / загадок / геокешинга / CTF.Шестнадцатеричный код: коды и секретные сообщения
Шестнадцатеричный кодировщик
Введите здесь текст для преобразования в шестнадцатеричныйБазовое объяснение
Компьютеры «думают» в двоичном коде или Базе Два. Но людям это очень трудно читать, поэтому у компьютерных программистов есть специальный код, который они используют при разговоре с компьютерами; это называется шестнадцатеричный код.Его легче читать, чем двоичный код, но гораздо труднее читать, чем английский! По мере того, как компьютеры становятся все более сложными, мы, программисты, все меньше и меньше используем шестнадцатеричные числа, но все же иногда используем их. Например, я хотел окрасить эту страницу в темно-фиолетовый цвет, я бы не сказал компьютеру нарисовать ее в темно-фиолетовый цвет, я бы сказал компьютеру нарисовать ее «# 440044», и компьютер точно понял , что я имел в виду (см. ссылку о цветах внизу этой страницы для получения дополнительной информации о кодировании цветов).
Иногда мы используем разные символы, чтобы указать, что мы разговариваем с компьютером в шестнадцатеричном формате. Иногда мы ставим знак фунта (#) перед кодом, а иногда ставим амперсанд, за которым следует H (& H). Это похоже на то, как если бы вы говорили с другом на Свиной латыни, прежде чем начать, вы могли бы сказать ему: «Я собираюсь говорить на Свиной латыни сейчас», чтобы он знал, что вы делаете. Что ж, это то, что мы делаем, когда ставим «#» или «& H» перед шестнадцатеричным кодом.Поскольку компьютер обычно не говорит в шестнадцатеричном формате, мы на самом деле просто говорим: «Привет, компьютер, я подумал, ты должен знать, я сейчас поговорю с тобой в шестнадцатеричном формате!»
Промежуточное объяснение
Так как же работает шестнадцатеричная система? Ну, шестнадцатеричный — это то же самое, что и Base Sixteen. Обычно мы считаем по так называемой Base Ten, и мы, вероятно, делаем это, потому что у нас всего десять пальцев. В базе десять у нас есть десять цифр — от 0 до 9. На самом деле, иногда мы называем наши пальцы цифрами!
Итак, представьте, что у вас было шестнадцати пальцев вместо десяти.Разве это не было бы ДИКОМ! Что ж, если бы у вас было шестнадцать пальцев, вы бы считали по основанию шестнадцати, что является шестнадцатеричным. Но для этого вам понадобится шестнадцать цифр. От 0 до 9, но тогда нам еще нужно шесть цифр! Хммм … Я знаю! Мы будем называть другие цифры A, B, C, D, E и F.
Это может немного сбить с толку, потому что теперь, когда мы пишем числа в шестнадцатеричном формате, они могут содержать БУКВЫ! Но через некоторое время к этому привыкаешь. Посмотрите, как эти числа выглядят в шестнадцатеричном формате:
10 = #A, 11 = #B, 12 = #C, 13 = #D, 14 = #E, 15 = #F
16 = # 10, 17 = # 11, 18 = # 12
Расширенное объяснение
Как преобразовать любое число в шестнадцатеричное? Что ж, возьмем пример.Начнем с числа 16325. Для начала нам нужно найти наибольшую степень 16, которая меньше этого числа.
161 = 16
162 = 256
163 = 4096
164 = 65 536
Ага! 163 (4096) — это то, что мы ищем. Теперь зададим вопрос: Сколько раз 4096 входит в 16325? И ответ: 3. С остатком 4037. Первая цифра нашего шестнадцатеричного числа будет 3, и нам нужно еще немного поработать с остатком.
Сколько раз 256 входит в 4037? (256 — 162, помните) Ответ — 15, остаток — 197. Итак, наша следующая цифра — 15. ПОДОЖДИТЕ МИНУТУ! 15 — это не цифра! Верно. Но посмотрите выше на мой список шестнадцатеричных чисел, и вы увидите, что всякий раз, когда у нас есть 15, мы можем назвать его F. (Вы еще не запутались?) Теперь наши первые две цифры нашего шестнадцатеричного числа — 3 и F. осталось разобраться с остатком 197. Пойдем дальше? Или с тебя хватит?
Что ж, если вы все еще читаете, теперь нам нужно взять эти 197 и разделить их на 16.У нас получается 12, а остаток — 5. Как записать 12 в шестнадцатеричной системе счисления? Это C. Правильно … пока наши цифры 3, F и C. И теперь у нас остался остаток от 5, и больше нет степени 16, на которую можно было бы его разделить, так что я думаю, что мы ‘ Мне просто нужно закрепить его на конце …
Итак, наше окончательное шестнадцатиричное (шестнадцатеричное) число: 3FC5
Это немного сбивает с толку, не правда ли! Но знаете ли вы, что ваш калькулятор может иметь команду для преобразования обычных чисел в шестнадцатеричные? Вам стоит это увидеть!
Итак, как можно использовать шестнадцатеричный код для создания секретного сообщения? Что ж, каждой букве в алфавите назначен номер, и вы можете просто преобразовать это число в основание шестнадцати.Например, буква «Z» — это число 90, и если вы преобразовали его в основание шестнадцати, у вас будет «5A».
Теперь, когда вы немного знаете, как работает шестнадцатеричный код, введите сообщение в кодировщике и посмотрите, как оно выглядит!
Для получения дополнительной информации о значениях кодировки перейдите по следующей ссылке:
Таблица кодов ASCII
Таблица кодов ASCIIНапример, код ASCII для «A» — 65 в десятичной системе счисления или 41 доллар в шестнадцатеричной системе.)
$ 1E
$ 1 этаж
$ 2F
$ 3F
40 долл. США
$ 50
$ 60
$ 70
41 доллар США
$ 51
$ 61
$ 71
$ 42
$ 52
$ 62
$ 72
$ 43
$ 53
$ 63
73
$ 44
$ 54
$ 64
$ 74
$ 45
$ 55
65 долл. США
$ 75
$ 46
$ 56
$ 66
76 долл. США
47 долларов США
$ 57
$ 67
$ 77
$ 48
$ 58
$ 68
$ 78
$ 49
$ 59
$ 69
$ 79
$ 4A
$ 5A
$ 6A
$ 7A
$ 4B
$ 5B
$ 6B
$ 7B
$ 4C
$ 5C
$ 6C
$ 7C
$ 4D
$ 5D