Шестнадцатеричная система счисления
Главная / Ассемблер / Для чайников / Системы счисления /Как мы увидели выше, с двоичным числом удобно работать при поразрядных операциях, однако запись двоичного числа получается довольно громоздкой. Чтобы немного упростить жизнь программистам, была придумана шестнадцатеричная система счисления, которая использует 16 цифр:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, FСоответственно, основание шестнадцатеричной системы равно 16.
Шестнадцатеричное число является компактным и лёгким для чтения. Его легко преобразовать в двоичное и наоборот. Каждый разряд шестнадцатеричного числа – это тетрада. Каждую тетраду легко преобразовать в двоичное число и наоборот (см. таблицу 2.3).
Таблица 2.3. Преобразование чисел.
Десятичное | Двоичное | Шестнадцатеричное |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 5 | |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
1011 | B | |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
В конец шестнадцатеричного числа принято ставить букву h. Таким образом мы можем отличить шестнадцатеричное число от чисел в других системах исчисления. Например
11 – десятичное число 11 11b – двоичное число, которое эквивалентно десятичному числу 3 11h – шестнадцатеричное число, которое эквивалентно десятичному числу 17В исходных кодах программ на ассемблере, если шестнадцатеричное число начинается с буквы, то перед ним нужно поставить ноль, иначе ассемблер подумает, что это не число, а имя переменной. Например, число FF в исходном коде на ассемблере должно быть записано как 0FFh.
Как перевести в шестнадцатеричную систему счисления
Шестнадцатеричная система счисления, на сегодняшний день является наиболее популярным средством компактной записи двоичных чисел. Очень широко используется при разработке и проектировании цифровой техники.
Как следует из названия, основанием данной системы является число шестнадцать 16 или в шестнадцатеричной системе 1016. Чтобы не было путаницы, при записи чисел в системах счисления отличных от десятичных, справа внизу от основной записи числа будем указывать основание системы счисления. Раз основанием системы является число шестнадцать, значит, для изображения чисел нам потребуется шестнадцать цифр. Первые десять цифр берутся из, привычной нам, десятичной системы (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
Итак, Шестнадцать — 1016 (одна «шестнадцать», ноль единиц)
Семнадцать — 1116 (одна «шестнадцать», одна единица)
…
и так далее…
…
Двадцать пять — 1916 (одна «шестнадцать», девять единиц)
Двадцать шесть — 1a16 (одна «шестнадцать», десять единиц)
Двадцать семь — 1b16 (одна «шестнадцать», одинадцать единиц)
…
и так далее…
…
Тридцать — 1e16 (одна «шестнадцать», четырнадцать единиц)
Тридцать один — 1f
Тридцать два — 2016 (две «шестнадцать», ноль единиц)
Тридцать три — 2116 (две «шестнадцать», одна единица)
…
и так далее…
…
Двести пятьдесят пять — ff16 (пятнадцать по «шестнадцать», пятнадцать единиц)
А теперь, чтобы считать дальше, нужно вводить более крупную единицу счета. Если в десятичной системе, мы в подобной ситуации вводили сотню, то в шестнадцатеричной это будет «Двести пятьдесят шесть».
Двести пятьдесят шесть — 10016 (одна «Двести пятьдесят шесть», ноль по «шестнадцать», ноль единиц)
Двести пятьдесят восемь — 10216 (одна «Двести пятьдесят шесть», ноль по «шестнадцать», две единицы)
…
и так далее…
…
Всегда, когда у нас исчерпался набор цифр для отображения следующего числа, мы вводим более крупные единицы счета (т.е. считаем по «шестнадцать», по «Двести пятьдесят шесть» и т.д.) и записываем число с удлинением на один разряд.
Рассмотрим число 3e2c16 записанное в шестнадцатиричной системе счисления. Про него можно сказать, что оно содержит: три по четыре тысячи девяносто шесть, «e» (четырнадцать) по двести пятьдесят шесть, два по шестнадцать и «c» (двенадцать) единиц. И получить его значение через входящие в него цифры можно следующим образом.
3e2c16 = 3*4096+14*256+2*16+12*1, здесь и далее знак * (звездочка) означает умножение.
Но ряд чисел 4096, 256, 16, 1 есть не что иное, как целые степени числа шестнадцать (основания системы счисления) и поэтому можно записать:
3e2c16 = 3*163+14*162+2*161+12*160
Подобным образом для шестнадцатиричной дроби (дробного числа) например: 0.5a216 про него можно сказать, что оно содержит: пять шестнадцатых, «a» (десять) двести пятьдесят шестых и две четыретысячи девяносто шестых долей. И его значение можно вычислить следующим образом :
0.5a216 = 5*(1/16) + 10*(1/256) + 2*(1/4096)
И здесь ряд чисел 1/16; 1/256 и 1/4096 есть не что иное, как целые степени числа шестнадцать и мы также можем записать:
0.5a216 = 5*16-1 + 10*16-2 + 2*16-3
Для смешанного числа 7b2.1f9 аналогичным образом можем записать:
7b2.1f9 = 7*162+11*161+2*160+1*16-1+15*16-2+9*16-3
Пронумеруем разряды целой части некоторого шестнадцатиричного числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m, то значение некоторого шестнадцатиричного числа может быть вычислено по формуле :
N = dn16n+dn-116n-1+…+d1161+d0160+d-116-1+d-216-2+…+d-(m-1)16-(m-1)+d-m16-m
Где: n — количество разрядов в целой части числа минус единица;
m — количество разрядов в дробной части числа
di — цифра стоящая в i-м разряде
Эта формула называется формулой поразрядного разложения шестнадцатиричного числа, т.е. числа записанного в шестнадцатиричной системе счисления. Если мы в этой формуле заменим число шестнадцать на некоторое произвольное число q, то получим формулу разложения для числа записанного в q-й системе счисления, т.е. с основанием q:
N = dnqn+dn-1qn-1+…+d1q1+d0q0+d-1q-1+d-2q-2+…+d-(m-1)q-(m-1)+d-mq-m
По этой формуле всегда можно вычислить значение числа записанного в любой позиционной системе счисления с основанием q.Шестнадцатеричная система счисления — Интеллектуальная Кобринщина
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления, так же как и восьмеричная, широко используется в компьютерной науке из-за легкости перевода в нее двоичных чисел. При шестнадцатеричной записи числа получаются более компактными.
В шестнадцатеричной системе счисления используются цифры от 0 до 9 и шесть первых латинских букв – A (10), B (11), C (12), D (13), E (14), F (15).
При переводе двоичного числа в шестнадцатеричное, первое разбивается на группы по четыре разряда, начиная с конца. В случае, если количество разрядов не делится нацело, то первая четверка дописывается нулями впереди. Каждой четверке соответствует цифра шестнадцатеричной системе счисления:
Например:
10001100101 = 0100 0110 0101= 465
Если потребуется, то число 4C5 можно перевести в десятичную систему счисления следующим образом (C следует заменить на соответствующее данному символу число в десятичной системе счисления – это 12):
4C5 = 4 * 162 + 12 * 161 + 5 * 160 = 4 * 256 + 192 + 5 = 1221
Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи — это FF.
FF = 15 * 161 + 15 * 160 = 240 + 15 = 255
255 – это максимальное значение одного байта, равного 8 битам: 1111 1111 = FF. Поэтому с помощью шестнадцатеричной системы счисления очень удобно кратко (с помощью двух цифр-знаков) записывать значения байтов. Внимание! Состояний у 8-ми битного байта может быть 256, однако максимальное значение – 255. Не забывайте про 0 – это как раз 256-е состояние.
Число 10 в шестнадцатеричной системе счисления. Алфавит шестнадцатеричной системы счисления
Результат уже получен!
Системы счисления
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 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). Далее объединяя эти результаты получим.
Всем, кто общается с компьютером или другой цифровой техникой, приходилось встречать загадочные записи типа 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” в начале обозначают, что используется шестнадцатеричная запись.
Шестнадцатеричная система счисления , на сегодняшний день является наиболее популярным средством компактной записи двоичных чисел. Очень широко используется при разработке и проектировании цифровой техники.
Как следует из названия, основанием данной системы является число шестнадцать 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 .
С другими системами счисления можно познакомиться на нашем сайте по следующим ссылкам.
Шестнадцатеричная запись («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-разрядных значений.
Позиционные системы счисления – двоичная и шестнадцатеричная
Позиционные системы счисления – двоичная и шестнадцатеричная
1. Процессоры работают с командами и данными, представленными в двоичной системе счисления (двоичном виде). В двоичной системе используют только две цифры 1 и 0. Двоичная система является (как и десятичная, в которой используют десять цифр: 1,2,3,4,5,6,7,8,9,0) позиционной системой счисления. Например, десятичное число 5643 состоит из четырех цифр, каждая цифра является десятичным разрядом (5 – старший разряд, а 3 – младший разряд десятичного числа). Младший разряд – левый — это разряд с весом «1», следующий, более старший разряд — с весом каждой единицы равным «10», следующий, более старший разряд — с весом каждой единицы равным «100» и т. д.. Таким образом, подробно, десятичное число 5643 можно записать следующим образом:
5 х 1000 + 6 х 100 + 4 х 10 + 3 х 1 = 5643
В двоичной системе счисления все точно также, например, число 10110 можно подробно записать:
1 х 24 + 0 х 23 + 1 х 22 + 1 х 21 + 0 х 20 = 10110
Вес каждого разряда в двоичной системе равен степени числа два (…24, 23, 22, 21, 20), как и в десятичной системе правее расположены более младшие разряды, а левее располагаются более старшие разряды.
Длинные двоичные числа удобнее записывать и запоминать в шестнадцатеричной системе, которая использует 16 цифр для изображения чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, В, C, D, E, F. Эта система счисления тоже позиционная, только вес разрядов числа является степенью числа 16.
Например, шестнадцатеричное число 1F2 можно представить подробно как 1 х 162 + F х 161 + 2 х 160 = 1F2
Необычным цифрам в шестнадцатеричной системе: A, B, C, D, E, F соответствуют десятичные значения соответственно: 10, 11, 12, 13, 14, 15 так, что можно легко перевести число 1F2 из шестнадцатеричной системы в привычную десятичную:
1 х 162 + 15 х 161 + 2 х 160 = 256 + 240 + 2 = 498 т. е. число (1F2)16 = (498)10 .
Каждой шестнадцатеричной цифре соответствует и конкретное двоичное число:
0 — 0000 8 — 1000
1 — 0001 9 — 1001
2 — 0010 A — 1010
3 — 0011 B — 1011
4 — 0100 C — 1100
5 — 0101 D — 1101
6 — 0110 E — 1110
7 — 0111 F — 1111
таким образом, число 1F2 в двоичной записи будет: 0001 1111 0010 (1F2 легче запомнить чем 000111110010).
Обычно шестнадцатеричные числа сопровождаются буквой h (например 1F2h).
Шестнадцатеричная система счисления
Содержание:Что такое шестнадцатеричная система счисления
Как перевести целое десятичное число в шестнадцатеричную систему счисления
Как перевести десятичную дробь в шестнадцатеричную систему счисления
Как перевести число из шестнадцатеричной системы счисления в десятичную
Как перевести дробное шестнадцатеричное число в десятичное
Таблица значений десятичных чисел от 0 до 100 в шестнадцатеричной системе счисления
Что такое шестнадцатеричная система счисления
шестнадцатеричная система счисления, является позиционной системой счисления, то есть имеется зависимость от позиции цифры в записи числа. Для записи числа в шестнадцатеричной системе счисления используется десять цифр и шесть букв 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E и F. Для определения в какой системе счисления записано число, внизу, справа от числа ставят цифру, которая называется основанием системы счисления. Например, F24516 или 123A16Если вам необходимо перевести число любой системы счисления в другую систему счисления, воспользуйтесь калькулятором систем счисления с подробным решением онлайн.
Как перевести целое десятичное число в шестнадцатеричную систему счисления
Для того, чтобы перевести целое десятичное число в шестнадцатеричную систему счисления нужно десятичное число делить на 16 до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.Например, переведем число 32394710 в шестнадцатеричную систему счисления:
323947 : 16 = 20246 остаток: 11, 11 = B
20246 : 16 = 1265 остаток: 6
1265 : 16 = 79 остаток: 1
79 : 16 = 4 остаток: 15, 15 = F
4 : 16 = 0 остаток: 4
32394710 = 4F16B16
Как перевести десятичную дробь в шестнадцатеричную систему счисления
Для того чтобы перевести десятичную дробь в шестнадцатеричную систему счисления необходимо сначала перевести целую часть десятичной дроби в шестнадцатеричную систему счисления, а затем дробную часть, последовательно умножать на 16, до тех пор, пока в дробной части произведения не получиться ноль (результатом произведения будет целое число) или не будет достигнуто необходимое количество знаков после запятой. Если в результате умножения целая часть не равна нулю, тогда необходимо заменить значение целой части на ноль. В результате будет получено число из целых частей произведений, записанное слева направо.Например, переведем десятичное число 842.99082088510 в шестнадцатеричную систему счисления:
Переведем целую часть
842 : 16 = 52 остаток: 10, 10 = A
52 : 16 = 3 остаток: 4
3 : 16 = 0 остаток: 3
84210 = 34A16
Переведем дробную часть
0.990820885 · 16 = 15.85313416, 15 = F
0.85313416 · 16 = 13.65014656, 13 = D
0.65014656 · 16 = 10.40234496, 10 = A
0.40234496 · 16 = 6.43751936
0.43751936 · 16 = 7.00030976
0.00030976 · 16 = 0.00495616
0.00495616 · 16 = 0.07929856
0.07929856 · 16 = 1.26877696
0.26877696 · 16 = 4.30043136
0.30043136 · 16 = 4.80690176
0.99082088510 = 0.FDA670014416
842.99082088510 = 34A.FDA670014416
Шестнадцатеричные дроби, как и десятичные могут быть как конечными, так и бесконечными. Не всегда конечная десятичная дробь может быть представлена конечной шестнадцатеричной. В данном примере получается бесконечная шестнадцатеричная дробь, поэтому умножение на 16 можно производить бесконечное число раз и все равно дробная часть частного не будет равна нулю. В данном случае десятичная дробь 842.99082088510 не может быть точно представлена в шестнадцатеричной системе счисления.
Как перевести число из шестнадцатеричной системы счисления в десятичную
Для того, чтобы перевести число из шестнадцатеричной системы счисления в десятичную систему счисления, необходимо записать позиции каждой цифры в числе с права на лево начиная с нуля. Каждая позиция цифры будет степенью числа 16, так как система счисления 16-ичная. Необходимо последовательно умножить каждое число на 16 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.Например, переведем число AE1916 в десятичную систему счисления:
Позиция в числе | 4 | 3 | 2 | 1 | 0 |
Число | A | F | 2 | D | 6 |
A16 = 1010
D16 = 1310
F16 = 1510
AF2D616 = 10 ⋅ 164 + 15 ⋅ 163 + 2 ⋅ 162 + 13 ⋅ 161 + 6 ⋅ 160 = 71752610
Как перевести дробное шестнадцатеричное число в десятичное
Для того, чтобы перевести дробное шестнадцатеричное число в десятичное, необходимо записать дробное шестнадцатеричное число, убрав точку и затем сверху расставить индексы. Индексы в дробной части числа начинаются от -1 и продолжаются на уменьшение вправо, индексы в целой части начинаются с 0 и ставятся с права на лево по возрастанию. Каждая позиция цифры (индекс) будет степенью числа 16, так как система счисления 16-ичная. Необходимо последовательно умножить каждое число на 16 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.Например, переведем дробное шестнадцатеричное число 69.F316 в десятичное:
Позиция в числе | 1 | 0 | -1 | -2 |
Число | 6 | 9 | F | 3 |
F16 = 1510
69.F316 = 6 ⋅ 161 + 9 ⋅ 160 + 15 ⋅ 16-1 + 3 ⋅ 16-2 = 105.9492187510
Таблица значений десятичных чисел от 0 до 100 в шестнадцатеричной системе счисления
Значение числа в десятичной системе счисления | Значение числа в шестнадцатеричной системе счисления |
010 | 016 |
110 | 116 |
210 | 216 |
310 | 316 |
410 | 416 |
510 | 516 |
610 | 616 |
710 | 716 |
810 | 816 |
910 | 916 |
1010 | A16 |
1110 | B16 |
1210 | C16 |
1310 | D16 |
1410 | E16 |
1510 | F16 |
1610 | 1016 |
1710 | 1116 |
1810 | 1216 |
1910 | 1316 |
2010 | 1416 |
2110 | 1516 |
2210 | 1616 |
2310 | 1716 |
2410 | 1816 |
2510 | 1916 |
2610 | 1A16 |
2710 | 1B16 |
2810 | 1C16 |
2910 | 1D16 |
3010 | 1E16 |
3110 | 1F16 |
3210 | 2016 |
3310 | 2116 |
3410 | 2216 |
3510 | 2316 |
3610 | 2416 |
3710 | 2516 |
3810 | 2616 |
3910 | 2716 |
4010 | 2816 |
4110 | 2916 |
4210 | 2A16 |
4310 | 2B16 |
4410 | 2C16 |
4510 | 2D16 |
4610 | 2E16 |
4710 | 2F16 |
4810 | 3016 |
4910 | 3116 |
5010 | 3216 |
Значение числа в десятичной системе счисления | Значение числа в шестнадцатеричной системе счисления |
5110 | 3316 |
5210 | 3416 |
5310 | 3516 |
5410 | 3616 |
5510 | 3716 |
5610 | 3816 |
5710 | 3916 |
5810 | 3A16 |
5910 | 3B16 |
6010 | 3C16 |
6110 | 3D16 |
6210 | 3E16 |
6310 | 3F16 |
6410 | 4016 |
6510 | 4116 |
6610 | 4216 |
6710 | 4316 |
6810 | 4416 |
6910 | 4516 |
7010 | 4616 |
7110 | 4716 |
7210 | 4816 |
7310 | 4916 |
7410 | 4A16 |
7510 | 4B16 |
7610 | 4C16 |
7710 | 4D16 |
7810 | 4E16 |
7910 | 4F16 |
8010 | 5016 |
8110 | 5116 |
8210 | 5216 |
8310 | 5316 |
8410 | 5416 |
8510 | 5516 |
8610 | 5616 |
8710 | 5716 |
8810 | 5816 |
8910 | 5916 |
9010 | 5A16 |
9110 | 5B16 |
9210 | 5C16 |
9310 | 5D16 |
9410 | 5E16 |
9510 | 5F16 |
9610 | 6016 |
9710 | 6116 |
9810 | 6216 |
9910 | 6316 |
10010 | 6416 |
Информатик БУ — Кратко о системах счисления
Система счисления – это способ записи чисел с помощью символов. Мы все привыкли использовать десять различных знаков для записи чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Такая система счисления называется десятичной. Один знак числа называется цифрой.
Основание системы счисления – это количество знаков, используемых для записи числа в этой системе. Основанием системы счислений, как правило, может являться любое натуральное число (например, шумеры использовали шестидесятеричную систему счисления), но сегодня наиболее распространены (кроме десятичной) двоичная, восьмеричная и шестнадцатеричная. Основание системы счисления указывается подстрочным знаком после числа, например 1012.
Разряд числа – это место цифры в числе. В зависимости от количества разрядов мы называем числа двузначными, трёхзначными, четырёхзначными и т.д.
Двоичная система счисления
Популярность двоичной системы в информатике обусловлена тем, что для записи чисел используется всего две цифры: 0 и 1. Это соответствует значению одного бита, который тоже может принимать значения 0 и 1. Поэтому во многих случаях один разряд двоичного числа называют битом. А так как в вычислительной технике информация передаётся в битах, то и числа удобнее передавать в виде двоичного (бинарного) кода.
Простой пример. IP-адрес компьютера состоит из четырёх байт, разделенных точками, к примеру:
192.168.0.1
Почему байты записаны в виде чисел? Если перевести байты этого IP-адреса в биты (двоичную систему), мы получим четыре восьмизначных двоичных числа:
11000000. 10101000.00000000.00000001
Двоичные числа состоят из восьми разрядов, а байт равен восьми битам.
Восьмеричная система счисления
Двоичная система счисления удобна для компьютера, но не очень удобна для людей, так как числа, записанные в ней, получаются очень большими по размеру. Представьте, десятичное число 10000000 в двоичной системе выглядит как 100110001001011010000000, не очень удобно, согласитесь?
Поэтому была введена восьмеричная система счисления. Восьмеричная система отличается от десятичной тем, что двоичные числа очень удобно приводить к основанию 8, а восьмеричные – к основанию 2. С десятичной всё немного сложнее. Для перевода используется таблица триад (в правом нижнем углу сайта есть кнопочка, можете посмотреть, а почитать про правила перевода можно здесь).
Шестнадцатеричная система счисления
Помните, что один разряд двоичной системы – это один бит? А два разряда шестнадцатеричной системы – это один байт. В современных компьютерах информация кодируется в байтах, поэтому во многих случаях удобно использовать шестнадцатеричную систему.
В шестнадцатеричной системе шестнадцать разрядов: цифры от 0 до 9, и буквы от A до F (где буквы от A до F – десятичные числа от 10 до 15 соответственно).
Шестнадцатеричную систему используют в низкоуровневом программировании, в компьютерном дизайне широко используются шестнадцатеричные коды цвета, в некоторых кодировках символы кодируются именно с помощью шестнадцатеричной системы… В общем, штука полезная:).
Одно из заданий ЕГЭ предыдущих лет было как раз на знание шестнадцатеричных цветовых кодов.
Пример: нужно определить, какой цвет зашифрован кодом #00FF00 в палитре RGB.
Решение: Данный код является кодом цвета в палитре RGB, то есть первые два разряда – Red, вторые два разряда – Green, третьи два разряда – Blue:
#00FF00
Получается, что красного цвета — 0, синего цвета – 0, а зелёного – FF, то есть 255 в десятичной системе счисления (максимальное двузначное шестнадцатеричное число). То есть это код чистого зелёного цвета.
Подобные коды вы можете встретить, к примеру, в палитре цветов Adobe Photoshop, или при разработке внешнего вида сайта, когда для различных элементов дизайна необходимо указать код цвета.
Что такое шестнадцатеричный? — Определение с сайта WhatIs.com
ПоШестнадцатеричная система счисления описывает систему счисления с основанием 16. То есть он описывает систему нумерации, содержащую 16 последовательных чисел в качестве основных единиц (включая 0) перед добавлением новой позиции для следующего числа. (Обратите внимание, что мы используем здесь «16» как десятичное число, чтобы объяснить число, которое было бы «10» в шестнадцатеричной системе.) Шестнадцатеричные числа — это 0–9, а затем используются буквы A – F. Мы показываем эквивалентность двоичных, десятичных и шестнадцатеричных чисел в таблице ниже.
Шестнадцатеричный формат — это удобный способ выражения двоичных чисел в современных компьютерах, в которых байт почти всегда определяется как содержащий восемь двоичных цифр. При отображении содержимого компьютерной памяти (например, при получении дампа памяти для отладки новой компьютерной программы или при отображении строки текстовых символов или строки двоичных значений при кодировании программы или HTML-страницы) один шестнадцатеричная цифра может представлять собой расположение четырех двоичных цифр. Две шестнадцатеричные цифры могут представлять восемь двоичных цифр или байт.
Двоичный | Десятичное | Шестнадцатеричный |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
10 | 2 | 2 |
11 | 3 | 3 |
100 | 4 | 4 |
101 | 5 | 5 |
110 | 6 | 6 |
111 | 7 | 7 |
1000 | 8 | 8 |
1001 | 9 | 9 |
1010 | 10 | А |
1011 | 11 | B |
1100 | 12 | С |
1101 | 13 | D |
1110 | 14 | E |
1111 | 15 | F |
10000 | 16 | 10 |
10001 | 17 | 11 |
и т. Д. | и т. Д. | и т. Д. |
Последний раз обновлялся в сентябре 2005 г.
Шестнадцатеричные числа
Шестнадцатеричное число основано на числе 16
16 различных значений
Имеется 16 шестнадцатеричных цифр.Они такие же, как десятичные цифры до 9, но есть буквы A, B, C, D, E и F вместо десятичных чисел от 10 до 15:
Шестнадцатеричный: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | B | С | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Десятичный: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Таким образом, одна шестнадцатеричная цифра может отображать 16 различных значений вместо обычных 10.
Подсчет
Выберите «Шестнадцатеричный» ниже и посмотрите, как он подсчитывает:
После того, как позиция «Единицы» заполнена (после F ), они начинаются с 0 , и мы добавляем 1 к следующей позиции слева (чтобы показать 1 лот из 16).
И после позиция достигает F , мы делаем то же самое и так далее.
По мере того, как мы двигаемся влево, каждое числовое место будет 16 раз больше .
Пример: какое десятичное значение шестнадцатеричного числа «D1CE»
= 53 248 + 256 + 192 + 14
= 53 710 в десятичной системе счисления
(Протестируйте его в преобразователе двоично-десятичного в шестнадцатеричный.)
Дело!
Пример: 2E6.A3
Это 2 × 16 × 16 + 14 × 16 + 6 + 10/16 + 3 / (16 × 16)
= 742,63671875 в десятичном формате
Прочтите ниже, чтобы узнать, почему
Цифры можно размещать слева или справа от точки, чтобы отображать значения больше единицы или меньше единицы:
Число слева от точки
целое число. По мере того, как мы двигаемся влево, каждое числовое место будет 16 раз больше . | |
Первая цифра справа от точки означает шестнадцатых. (1/16). По мере продвижения вправо каждое число ставит в 16 раз меньше (одна шестнадцатая больше). |
Дополнительные примеры
Пример 1: Что такое 4B5 (шестнадцатеричный)?- «4» находится в позиции «16 × 16», то есть 4 × 16 × 16
- Буква «B» (11) находится в положении «16», что означает 11 × 16
- «5» находится в позиции «1», что означает 5.
- Ответ: 4B5 = 4 × 16 × 16 + 11 × 16 + 5 (= 1205) в десятичном формате
- Слева стоит цифра «2», то есть целое число. часть.
- Число 3 находится в позиции «шестнадцатая», что означает «3». шестнадцатая «, или 3/16
- Итак, 2,3 — это «2 и 3 шестнадцатые» (= 2,1875 в десятичной системе)
Слово «шестнадцатеричное»
Слово «шестнадцатеричный» означает «основанный на 16». (От греческого hexa: «шесть» и латинского decima : «десятая часть» ).
Объяснение шестнадцатеричной системы счисления
Шестнадцатеричная система счисления (Base-16)
В шестнадцатеричной системе счисления для представления чисел используются ШЕСТНАДЦАТЬ значений. Значения:
0 1 2 3 4 5 6 7 8 9 А Б В Г Д Е Ф
где 0 имеет наименьшее значение, а F — наибольшее значение. Столбцы используются так же, как и в десятичной системе, в том, что самый левый столбец используется для представления наибольшего значения.
Как мы видели в десятичной системе, значения в наборе (0 и 1) повторяются как в вертикальном, так и в горизонтальном направлениях.
0 — F, 10 — 1 этаж, 20 — 2 этаж, 30 — 3 этаж ……
Шестнадцатеричный формат часто используется для представления значений (чисел и адресов памяти) в компьютерных системах.
десятичный | двоичный | Шестнадцатеричный |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | А |
11 | 1011 | B |
12 | 1100 | С |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
Преобразование шестнадцатеричного числа в десятичное
Задача: преобразовать 176 из шестнадцатеричного числа в десятичное.
Каждый столбец представляет степень 16,
164 становится
4 * 16 0 = 4
6 * 16 1 = 96
1 * 16 2 = 256
сложение дает 356
Преобразование двоичного числа в шестнадцатеричный
Задача: преобразовать 110110 в шестнадцатеричный.
Каждая шестнадцатеричная цифра представляет 4 двоичных бита. Разделить двоичное число
на группы по 4 бита, начиная справа.
11 0110
= 3 = 6
= 36 в шестнадцатеричном формате
Преобразование десятичного числа в шестнадцатеричное
Проблема: преобразовать десятичное число 232 в шестнадцатеричное.
Используйте тот же метод, который использовался ранее, чтобы разделить десятичное число на двоичное
, но разделите на 16.
232/16 = 14 с остатком 8
14/16 = 0 с остатком E (14 десятичное = E)
, затем ответьте E8 16
Обратите внимание на суффикс, добавленный для обозначения базы чисел
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления:
Значение любой цифры в позиционной системе счисления зависит от следующего:
Цифра, чья значение подлежит определению
Положение цифры в числе
Основание или основание системы счисления
Основание шестнадцатеричной системы счисления равно 16 (шестнадцатеричное = 6 и десятичное = 10).Поэтому ее еще называют системой счисления с основанием 16. В этой системе счисления есть 16 цифр, которые используются для представления чисел в шестнадцатеричной форме. Это похоже на десятичную систему счисления, потому что первые 10 цифр остаются одинаковыми в обеих системах счисления. Однако 10 в десятичной системе счисления представлено как A в шестнадцатеричной системе счисления, 11 как B, 12 как C, 13 как D, 14 как E, 15 как F и 16 как 10. Итак, 16 цифр шестнадцатеричной системы счисления 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Разрядное значение цифр в шестнадцатеричной системе счисления:
Шестнадцатеричное число состоит из двух частей, а именно целой части и дробной части. Целая часть включает число слева от десятичной точки, а дробная часть указывает цифры справа от десятичной точки. Цифры числа в шестнадцатеричной форме имеют вес в степенях 16. Степень 16 увеличивается, когда цифра находится слева от десятичной точки, а степень уменьшается, когда цифра находится справа от десятичной точки.
(изображение скоро будет обновлено)
Пример: (9AB.47) 16 — шестнадцатеричное число
Число записывается в развернутой форме как
9 x 162 x A x 161 + B x 160 + 4 x 16 -1 + 7 x 16-2
Таблица шестнадцатеричного преобразования:
Шестнадцатеричные числа также могут быть представлены в двоичной, восьмеричной и десятичной форме. Таблица ниже обозначает представление шестнадцатеричной цифры в других формах.
Шестнадцатеричная цифра | Десятичная эквивалентная | Двоичная эквивалентная | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | 1 | 0001 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | 2 | 0010 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | 3 | 03 | 4 | 0100 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | 5 | 0101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 | 03 | 03 | 900 7 | 7 | 9 0194||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | 8 | 1000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9 | 9 9 | 9 | 4 9007 900 | 1010 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B | 11 | 1011 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C | 12 | 12 | 924 9000 | 1101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E | 14 | 1110 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F | 15 | другие | 11 Позиционные системы в шестнадцатеричной форме: десятичные в шестнадцатеричные al Система счисления: Десятичное число делится на 16, и записывается шестнадцатеричный эквивалент остатка.Полученное частное снова делится на 16 и записывается шестнадцатеричный эквивалент остатка. Деление продолжается до тех пор, пока частное не станет равным 0. Число в шестнадцатеричной форме — это остаток, записанный снизу вверх. Пример: Преобразует число 242 с основанием 10 в шестнадцатеричную форму. Решение: (242) 10 = (F2) 16 Преобразование двоичного числа в шестнадцатеричное:Для преобразования двоичного числа в шестнадцатеричную форму цифры сначала разделяются на группы по 4 от десятичной точки к справа и слева.К пропущенным цифрам добавляется необходимое количество нулей, чтобы сформировать группу из 4 двоичных цифр. Каждая группа из 4 двоичных цифр заменяется одним шестнадцатеричным эквивалентом, как показано в таблице преобразования. Пример: Преобразовать (1010001011.10101001111) 2 в шестнадцатеричное число Решение: Целая часть сгруппирована как 0010 1000 1011. Ее шестнадцатеричный эквивалент (28B) 16 Дробная часть сгруппирована как 1010 1001 1110. Его шестнадцатеричный эквивалент (A9E) 16 Таким образом, число в шестнадцатеричной форме (28B.A9E) 16 Восьмеричное преобразование в шестнадцатеричное:Любое восьмеричное число сначала преобразуется в десятичное. Полученное десятичное число преобразуется в шестнадцатеричное с помощью метода, описанного выше. Пример: Преобразует (121) 8 в шестнадцатеричную форму. Решение: (121) 8 преобразуется в десятичную форму путем умножения каждой цифры на ее позиционное значение 8. (121) 8 = 1x 82 + 2 x 81 + 1 x 80 = 64 + 16 + 1 = (81) 10 81 затем преобразуется в шестнадцатеричную форму следующим образом: Итак (121) 8 = (51) 16 Шестнадцатеричное преобразование в десятичное:Любое число в шестнадцатеричной форме преобразуется в его десятичный эквивалент. путем умножения каждой цифры на ее позиционные значения 16. Пример: Преобразует (AB4) 16 в десятичное число. Решение: (AB4) 16 = A x 162 + B x 161 + 4 x 160 = 10 x 64 + 11 x 16 + 4 x 1 = (820) 10 Шестнадцатеричное преобразование в двоичное:Шестнадцатеричное Число преобразуется в двоичное число путем записи 4-значного двоичного эквивалента каждой шестнадцатеричной цифры числа путем просмотра таблицы преобразования. Пример: Преобразование (C7D) 16 в число с основанием 2. Решение: Двоичный эквивалент C => 1100 7 => 0111 D => 1101 Итак (C7D) 16 = (110001111101) 2 Шестнадцатеричная цифра в восьмеричное преобразование1:9057 можно преобразовать в восьмеричную форму, сначала преобразовав его в десятичное число, а затем записав его восьмеричный эквивалент.Пример: Преобразует (AB4) 16 в восьмеричное число. Решение: (AB4) 16 сначала преобразуется в десятичную форму путем умножения каждой цифры на позиционные значения. (AB4) 16 = A x 162 + B x 161 + 4 x 160 = 10 x 64 + 11 x 16 + 4 x 1 = (820) 10 Затем число преобразуется в восьмеричную форму путем деления на 8 и отмечая остатки. Остаток снизу вверх является восьмеричным эквивалентом. Число, полученное делением 820 и записью остатков, равно 1464 Итак, (AB4) 16 = (1464) 8 Интересные факты:
ПреобразованиеДвоичное в шестнадцатеричноеДля изменения числа с двоичного на шестнадцатеричный используется метод группировки.Двоичное число разделено на группы по четыре цифры, начиная справа. Затем эти группы преобразуются в шестнадцатеричные числа, как показано на приведенной выше диаграмме для шестнадцатеричных чисел от 0 до F. Для перехода с шестнадцатеричного числа выполняется обратное. Каждая шестнадцатеричная цифра заменяется двоичной, и группировка обычно удаляется.
Шестнадцатеричное и десятичноеСуществует два распространенных способа преобразования числа из шестнадцатеричного в десятичное. Первый метод чаще используется при ручном преобразовании:
Следующий метод чаще используется при программном преобразовании числа.Ему не нужно знать, сколько цифр имеет число до его начала, и оно никогда не умножается более чем на 16, но на бумаге оно выглядит длиннее.
Пример: 5Fh и 3425h в десятичном формате, метод 1
Пример: 5Fh и 3425h в десятичном формате, метод 2
Связанные страницыОбразы для детей
Описание шестнадцатеричной системы счисленияШестнадцатеричные числа, часто сокращаемые до «шестнадцатеричных чисел» или «шестнадцатеричных», представляют собой числа, представленные по основанию 16, а не по основанию 10, которые мы используем для повседневной арифметики и счета. На практике это означает, что каждый столбец числа, записанного в шестнадцатеричном формате, может представлять до 16 значений. Цифры в шестнадцатеричном формате используют стандартные символы 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 для представления соответствующего значения и используют первые шесть букв алфавита для представления значений от 10 до 15 (Е.G: A, B, C, D, E, F). В программировании мы ставим перед шестнадцатеричными константами префикс В стандартной системе с основанием 10 каждый столбец представляет возрастающую степень 10, а в системе счисления 16 каждый столбец представляет возрастающую степень 16. Как видно из приведенного выше примера таблицы, с помощью одной шестнадцатеричной цифры мы можем представляют собой числа до 15 включительно.Добавьте еще один столбец, и мы можем представить числа до 255, 4095 с другим столбцом и так далее. Использование шестнадцатеричного числа в низкоуровневом программированииШестнадцатеричное число впервые нашло свое применение в информатике в качестве удобной функции. Данные в наших компьютерах имеют самую низкую общую единицу хранения — байт. Каждый байт содержит 8 бит и может хранить число от 0 до 255 включительно. Шестнадцатеричный формат имеет то преимущество, что он краток и имеет четко определенные границы. Один байт всегда представлен двумя шестнадцатеричными цифрами от 0x00 до 0xFF, последняя из которых является наибольшим байтовым значением 255. Краткость и побайтовый характер шестнадцатеричных чисел делают их популярным выбором для работающих инженеров-программистов. на низкоуровневых базах кода или встроенном программном обеспечении. Использование шестнадцатеричных чисел в JavaScriptJavaScript поддерживает использование шестнадцатеричной записи вместо любого целого числа, но не десятичных. В качестве примера, число 2514 в шестнадцатеричном формате — это 0x9D2, но не существует поддерживаемого языком способа представления 25,14 в виде шестнадцатеричного числа. Использование шестнадцатеричного числа в вашем коде является личным и стилистическим выбором и не влияет на базовую логику, реализуемую вашим кодом. Использование шестнадцатеричных чисел в CSSCSS уже давно использует шестнадцатеричную нотацию для представления значений цвета. Рассмотрим следующий селектор: Значение Процессор CSS обрабатывает их как три отдельных байта, представляющих красный, зеленый и синий. В нашем примере 11 соответствует компоненту красного цвета, 22 соответствует компоненту зеленого цвета, а 33 — компоненту синего цвета. В настоящее время в CSS3 нет способа определить цвет с альфа-компонентом с использованием шестнадцатеричного кода. Предлагаемый проект CSS4 1 включает предложение о разрешении дополнительного байта для определения альфа-значений. На данный момент рекомендуется использовать стандартную функцию Что такое шестнадцатеричное число? Почему это важно?Шестнадцатеричное число — это числа с основанием 16 и, вероятно, самые большие числа прямо сейчас. Шестнадцатеричные числа включают A, B, C, D, E, F и от 0 до 9. Многие технические специалисты считают, что шестнадцатеричные числа являются усовершенствованной версией двоичных чисел. Многие современные организации также начали использовать шестнадцатеричные числа вместо нулей и единиц. Помимо этого, шестнадцатеричные числа также используются для повышения безопасности веб-сайта.Многие разработчики переводят десятичное число в шестнадцатеричное, а затем сохраняют это число в базе данных. И когда они хотят получить это число, они преобразуют шестнадцатеричное в десятичное и затем показывают его пользователям. Этот перевод полезен для встроенных систем, поскольку во встроенных системах широко используются десятичные числа. На самом деле люди могут легко читать и распознавать десятичные числа. Итак, десятичные числа могут представлять опасность для человека. Вот почему преобразование шестнадцатеричного числа в десятичное действительно важно.Кроме того, ниже приведены различные преимущества и недостатки шестнадцатеричного числа. Самым большим преимуществом шестнадцатеричного числа является его компактность. Это число с основанием 16, и по этой причине они могут представлять число с наименьшим количеством символов. Поскольку десятичное число — это число с основанием 10, и это число с основанием 16, которое включает около 16 различных символов. Кроме того, двоичный код включает только нули и единицы, и по этой причине для представления числа в двоичном формате требуется в восемь раз больше чисел, чем шестнадцатеричных чисел. Благодаря этому преимуществу многие крупные организации начали использовать шестнадцатеричные числа вместо нулей и единиц. Наряду с этим, я хочу добавить, что компьютерные процессоры и другие электронные системы могут легко обрабатывать шестнадцатеричные числа, и это позволяет этим системам работать быстрее всего. Таким образом, компании, которые предпочитают скорость процессора, предпочитают шестнадцатеричные числа любым другим числам. У шестнадцатеричных чисел также есть несколько недостатков. Как обсуждалось выше, шестнадцатеричные числа имеют основание 16 и включают 16 чисел.По этой причине это число занимает больше места на процессоре. Для продуктов меньшего размера могут возникнуть проблемы с памятью, если они используют шестнадцатеричный формат. Но тип процессора, доступный сегодня, память вообще не проблема. |