D в 16 ричной системе. Шестнадцатеричный код

Авто 12.04.2019
Авто

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

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

При переводе удобно пользоваться таблицей степеней двойки:

Таблица 4. Степени числа 2

n (степень)

Пример.

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

При переводе удобно пользоваться таблицей степеней восьмерки:

Таблица 5. Степени числа 8

n (степень)

Пример. Число перевести в десятичную систему счисления.

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

При переводе удобно пользоваться таблицей степеней числа 16:

Таблица 6. Степени числа 16

n (степень)

Пример. Число перевести в десятичную систему счисления.

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

Пример. Число перевести в двоичную систему счисления.

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

Пример. Число перевести в восьмеричную систему счисления.

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

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

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

Как следует из названия, основанием данной системы является число шестнадцать 16 или в шестнадцатеричной системе 10 16 . Чтобы не было путаницы, при записи чисел в системах счисления отличных от десятичных, справа внизу от основной записи числа будем указывать основание системы счисления. Раз основанием системы является число шестнадцать, значит, для изображения чисел нам потребуется шестнадцать цифр. Первые десять цифр берутся из, привычной нам, десятичной системы (0,1,..,8,9) и еще добавляются шесть букв латинского алфавита (a,b,c,d,e,f) . Например в шестнадцатеричном числе 3f7c2 буквы "f" и "c" являются шестнадцатеричными цифрами.

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

Ноль - 0 ;
Один - 1 ;
Два - 2 ;
...
и так далее…
...
Восемь - 8 ;
Девять - 9 ;
Десять - a ;
Одиннадцать - b ;
Двенадцать - c ;
Тринадцать - d ;
Четырнадцать - e ;
Пятнадцать - f ;

А что делать дальше? Все цифры кончились. Как же изобразить число Шестнадцать? Поступим аналогично тому как мы поступали в десятичной системе. Там мы вводили понятие десятка, здесь же введем понятие "шестнадцать" и скажем, что шестнадцать - это одина "шестнадцать" и ноль единиц. А это уже можно и записать - "10 16 ".

Итак, Шестнадцать - 10 16 (одна "шестнадцать", ноль единиц)
Семнадцать - 11 16 (одна "шестнадцать", одна единица)
...
и так далее…
...
Двадцать пять - 19 16 (одна "шестнадцать", девять единиц)
Двадцать шесть - 1a 16 (одна "шестнадцать", десять единиц)
Двадцать семь - 1b 16 (одна "шестнадцать", одинадцать единиц)
...
и так далее…
...
Тридцать - 1e 16 (одна "шестнадцать", четырнадцать единиц)
Тридцать один - 1f 16 (одна "шестнадцать", пятнадцать единиц)
Тридцать два - 20 16 (две "шестнадцать", ноль единиц)
Тридцать три - 21 16 (две "шестнадцать", одна единица)
...
и так далее…
...
Двести пятьдесят пять - ff 16 (пятнадцать по "шестнадцать", пятнадцать единиц)

Двести пятьдесят шесть - 100 16 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", ноль единиц)
Двести пятьдесят семь - 101 16 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", одна единица)
Двести пятьдесят восемь - 102 16 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", две единицы)
...
и так далее...
...

Всегда, когда у нас исчерпался набор цифр для отображения следующего числа, мы вводим более крупные единицы счета (т.е. считаем по "шестнадцать", по "Двести пятьдесят шесть" и т.д.) и записываем число с удлинением на один разряд.

Рассмотрим число 3e2c 16 записанное в шестнадцатиричной системе счисления. Про него можно сказать, что оно содержит: три по четыре тысячи девяносто шесть, "e" (четырнадцать) по двести пятьдесят шесть, два по шестнадцать и "c" (двенадцать) единиц. И получить его значение через входящие в него цифры можно следующим образом.

3e2c 16 = 3 *4096+14 *256+2 *16+12 *1, здесь и далее знак * (звездочка) означает умножение.

Но ряд чисел 4096, 256, 16, 1 есть не что иное, как целые степени числа шестнадцать (основания системы счисления) и поэтому можно записать:

3e2c 16 = 3 *16 3 +14 *16 2 +2 *16 1 +12 *16 0

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

0.5a2 16 = 5 *(1/16) + 10 *(1/256) + 2 *(1/4096)

И здесь ряд чисел 1/16; 1/256 и 1/4096 есть не что иное, как целые степени числа шестнадцать и мы также можем записать:

0.5a2 16 = 5 *16 -1 + 10 *16 -2 + 2 *16 -3

Для смешанного числа 7b2.1f9 аналогичным образом можем записать:

7b2.1f9 = 7 *16 2 +11 *16 1 +2 *16 0 +1 *16 -1 +15 *16 -2 +9 *16 -3

Пронумеруем разряды целой части некоторого шестнадцатиричного числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m, то значение некоторого шестнадцатиричного числа может быть вычислено по формуле:

N = d n 16 n +d n-1 16 n-1 +…+d 1 16 1 +d 0 16 0 +d -1 16 -1 +d -2 16 -2 +…+d -(m-1) 16 -(m-1) +d -m 16 -m

Где: n - количество разрядов в целой части числа минус единица;
m - количество разрядов в дробной части числа
d i - цифра стоящая в i -м разряде

Эта формула называется формулой поразрядного разложения шестнадцатиричного числа, т.е. числа записанного в шестнадцатиричной системе счисления. Если мы в этой формуле заменим число шестнадцать на некоторое произвольное число q , то получим формулу разложения для числа записанного в q-й системе счисления, т.е. с основанием q :

N = d n q n +d n-1 q n-1 +…+d 1 q 1 +d 0 q 0 +d -1 q -1 +d -2 q -2 +…+d -(m-1) q -(m-1) +d -m q -m

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

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

Шестнадцатеричная система счисления имеет алфавит, состоящий из 16 цифр:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, c, d, e, f.

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

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

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

Примеры.

    АЕ07 16 =10∙16 3 +14∙16 2 +0∙16 1 +7∙16 0 =44551 10 .

    100 16 =1∙16 2 +0∙16 1 +0∙16 0 =256 10 .

    58 16 =5∙16 1 +8∙16 0 =.88 10 .

    2А 16 =2∙16 1 +10∙16 0 =42 10 .

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

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

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

2) 2A= 0010 1010 2 = 101010 2 .

3) 58 16 = 0101 1000 2 = 1011000 2 .

И наоборот, перевести любое двоичное число в шестнадцатеричное можно аналогичным образом. Каждые четыре двоичные цифры, считая справа налево, записываются одной шестнадцатеричной цифрой. Эти цифры располагаются также справа налево.

Примеры.

2. 101010 2 = 10 1010 2 = 2A.

3. 1011000 2 = 101 1000 2 = 58 16 .

Восьмеричная система счисления

Восьмеричная система счисления имеет алфавит, состоящий из 8 цифр:

0, 1, 2, 3, 4, 5, 6, 7.

Перевод числа из десятичной системы в восьмеричную и обратно осуществляется по аналогии с переводом в двоичную / из двоичной.

Перевод чисел из восьмеричной системы в двоичную и обратно

Каждая цифра восьмеричной записи числа записывается трехзначным двоичным числом - триадой .

Примеры.

2563 8 = 010 101 110 011 2 =10101110011 2 .

1001101 2 = 001 001 101 2 = 115 8 .

Методические материалы для лабораторного занятия №1

Тема лабораторного занятия: Системы счисления. Измерение информации.

Количество часов: 2.

Примеры с решениями

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

11100110 2 = 1∙2 7 + 1∙2 6 + 1∙2 5 + 0∙2 4 + 0∙2 3 + 1∙2 2 + 1∙2 1 + 0∙2 0 = 128 + 64 + 32 + 4 + 2 = 230 10 .

2401 5 = 2∙5 3 + 4∙5 2 + 0∙5 1 + 1∙5 0 = 250 + 100 + 0 + 1 = 351.

    Перевод из 10-ичной системы в p -ичную.

2.1 98 10 → Х 2 .

Делим число на 2. Затем делим неполное частное на 2. Продолжаем до тех пор, пока неполное частное не станет меньше 2, т.е. равным 1.

    98: 2 = 49. Остаток - 0 .

    49: 2 = 24. Остаток - 1 .

    24: 2 = 12. Остаток - 0 .

    12: 2 = 6. Остаток - 0 .

    6: 2 = 3. Остаток - 0 .

    3: 2 = 1 . Остаток - 1 .

Так как последнее неполное частное равно 1, процесс окончен. Записываем все остатки снизу вверх, начиная с последнего неполного частного, и получаем число 1100010. Итак 98 10 = 1100010 2 .

2.2 2391 10 → Х 16 .

Делим число на 16. Затем делим неполное частное на 16. Продолжаем до тех пор, пока неполное частное не станет меньше 16.

    2391: 16 = 149. Остаток - 7 .

    149: 16 = 9 . Остаток - 5 .

Так как последнее неполное частное (9) меньше 16, процесс окончен. Записываем, начиная с последнего неполного частного, все остатки снизу вверх и получаем число 957. Итак 2391 10 = 957 16 .

2.3 12165 10 → Х 2 .

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

12165 10 = 27605 8 = 010 111 110 000 101 = 10111110000101.

    Определение основания системы счисления p .

Один мальчик так написал о себе: «Пальцев у меня 24, на каждой руке по 5, а на ногах 12». Как такое может быть?

Решение. Надо определить основание системы счисления p . Так как мы знаем, что пальцев на ногах всего 10 10 , то 12 p =1∙p +2 = 10 10 . Отсюда получаем уравнение p + 2 = 10  p = 8. Значит, мальчик имел в виду числа в восьмеричной системе. Действительно, всего пальцев 24 8 = 2∙8+4 = 20 10 , а на ногах - 12 8 = 1∙8+2 = 10 10 .

Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 2 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ. или, . Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку "Получить запись".

Исходное число записано в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .

Хочу получить запись числа в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .

Получить запись

Выполнено переводов: 1363703

Системы счисления

Системы счисления делятся на два типа: позиционные и не позиционные . Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.

Пример 1 . Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:

Число 5921 можно записать в следующем виде: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.

Пример 2 . Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:

Число 1234.567 можно записать в следующем виде: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 +6·10 -2 +7·10 -3 .

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

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

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

Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:

1. Перевести число 1001101.1101 2 в десятичную систему счисления.
Решение: 10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 -4 = 16+2+1+0.5+0.25+0.0625 = 19.8125 10
Ответ: 10011.1101 2 = 19.8125 10

2. Перевести число E8F.2D 16 в десятичную систему счисления.
Решение: E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.17578125 10
Ответ: E8F.2D 16 = 3727.17578125 10

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

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

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

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

3. Перевести число 273 10 в восьмиричную систему счисления.
Решение: 273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
Проверка : 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273 , результат совпал. Значит перевод выполнен правильно.
Ответ: 273 10 = 421 8

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

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

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

4. Перевести число 0.125 10 в двоичную систему счисления.
Решение: 0.125·2 = 0.25 (0 - целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5 (0 - вторая цифра результата), 0.5·2 = 1.0 (1 - третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
Ответ: 0.125 10 = 0.001 2

Шестнадцатеричная система счисления (также — шестнадцатеричный код) является позиционной системой счисления с целочисленным основанием 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). При этом изменение текущей системы счисления автоматически производит перевод.



Рекомендуем почитать

Наверх