Шестнадцатеричная арифметика — CoderLessons.com
Ниже приведены характеристики шестнадцатеричной системы счисления.
Использует 10 цифр и 6 букв, 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F.
Буквами обозначены числа, начинающиеся с 10. A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
Также называется базовой 16-ти числовой системой.
Каждая позиция в шестнадцатеричном числе представляет степень 0 основания (16). Пример — 16 0
Последняя позиция в шестнадцатеричном числе представляет собой степень x основания (16). Пример — 16 x, где x представляет последнюю позицию — 1.
Использует 10 цифр и 6 букв, 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F.
Буквами обозначены числа, начинающиеся с 10. A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
Также называется базовой 16-ти числовой системой.
Каждая позиция в шестнадцатеричном числе представляет степень 0 основания (16).
Последняя позиция в шестнадцатеричном числе представляет собой степень x основания (16). Пример — 16 x, где x представляет последнюю позицию — 1.
пример
Шестнадцатеричное число — 19FDE 16
Расчет десятичного эквивалента —
шаг | Шестнадцатеричное число | Десятичное число |
---|---|---|
Шаг 1 | 19FDE 16 | ((1 × 16 4 ) + (9 × 16 3 ) + (F × 16 2 ) + (D × 16 1 ) + (E × 16 0 )) 10 |
Шаг 2 | 19FDE 16 | ((1 × 16 4 ) + (9 × 16 3 ) + (15 × 16 2 ) + (13 × 16 1 ) + (14 × 16 0 )) 10 |
Шаг 3 | 19FDE 16 | (65536 + 36864 + 3840 + 208 + 14) 10 |
Шаг 4 | 19FDE 16 | 106462 10 |
Примечание. 19FDE 16 обычно записывается как 19FDE.
Шестнадцатеричное дополнение
Следующая таблица шестнадцатеричного сложения очень поможет вам справиться с шестнадцатеричным сложением.
Чтобы использовать эту таблицу, просто следуйте указаниям, используемым в этом примере — Добавьте A
A 16 + 5 16 = F 16 .
Пример — дополнение
Шестнадцатеричное вычитание
Вычитание шестнадцатеричных чисел следует тем же правилам, что и вычитание чисел в любой другой системе счисления. Единственное изменение в заемном номере. В десятичной системе вы берете группу из 10 10 . В двоичной системе вы берете группу из 2 10 . В шестнадцатеричной системе вы заимствуете группу из 16 10 .
Шестнадцатеричная система счисления
Для написания программ на Ассемблере, необходимо разобраться с шестнадцатеричной системой счисления. Ничего сложного в ней нет. Мы используем в жизни десятичную систему. Уверен, что Вы все ее знаете, поэтому я постараюсь объяснить шестнадцатеричную систему, проводя аналогию с десятичной.
Итак, в десятичной системе если мы к какому-нибудь числу справа добавим нуль, то это число увеличится в 10 раз. Например: 1 х 10 = 10; 10 х 10 = 100; 100 х 10 = 1000 и т.д. В этой системе мы используем цифры от 0 до 9, т.е. десять разных цифр (собственно, поэтому она и называется десятичная).
В шестнадцатеричной системе мы используем, соответственно, шестнадцать «цифр». Я специально написал слово «цифр» в кавычках, т.к. в ней используются не только цифры. Да и в самом деле как так? Объясняю: от 0 до 9 мы считаем так же, как и в десятичной, а вот дальше будет так: A, B, C, D, E, F. Число F, как не трудно посчитать, будет равно 15 в десятичной системе (см. Таблицу 1).
Таблица 1. Десятичная и шестнадцатеричная системы счисления.
Десятичное число |
0 1 2 3 4 … 8 9 10 11 12 13 14 15 16 17 |
Шестнадцатеричное число |
0 1 2 3 4 … 8 9 A B C D E F 10 11 |
Десятичное число |
26 27 28 29 30 … 158 159 160 161 162 … 254 255 256 257 |
Шестнадцатеричное число |
1A 1B 1C 1D 1E … 9E 9F A0 A1 A2 … FE FF 100 101 |
Т.о., если мы к какому-нибудь числу в шестнадцатеричной системе добавим справа нуль, то это число увеличится в 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;
- 10
- 100h х 16 = 1000h и т.д.
Либо так:
- 1h х 10h = 10h;
- 10h х 10h = 100h;
- 100h х 10h = 1000h
Для чего нужна шестнадцатеричная система — мы рассмотрим в последующих главах. А в данный момент для нашего примера программы, который будет рассмотрен ниже, нам необходимо знать о существовании шестнадцатеричных чисел.
Итак, подведем итог. Шестнадцатеричная система счисления состоит из 10 цифр (от 0 до 9) и 6 букв латинского алфавита (A, B, C, D, E, F). Если к какому-нибудь числу в шестнадцатеричной системе добавим справа нуль, то это число увеличится в 16 раз. Очень важно уяснить данную тему, так как мы будем постоянно использовать ее при написании программ.
Теперь немного о том, как я буду строить примеры на Ассемблере. Не совсем удобно приводить их сплошным текстом в книге, поэтому сперва будет идти сам код программы с пронумерованными строками, а сразу же после него — объяснения и примечания.
Примерно так:
(01)mov ah,9
(02)mov al,8
…
(15)mov dl,5Ah
Сложение, вычитание, умножение и деление в системах счисления
Сложение в системах счисления
Как мы складываем в десятичной системе счисления?
Давайте вспомним о том, как мы складываем числа уже привычным нам способом, в десятичной системе счисления.
Самое главное стоит понять разряды. Вспомните алфавит каждой СС и тогда вам станет легче.
Сложение в двоичной системе счисления
Сложение в двоичной системе ничем не отличается от сложения в десятичной системе. Главное помнить, алфавит содержит всего две цифры: 0 и 1. Поэтому когда мы складываем 1 + 1, то получаем 0, и увеличиваем число еще на 1 разряд. Посмотрите на пример выше:
- Начинаем складывать как и привыкли справа налево. 0 + 0 = 0, значит записываем 0. Переходим к следующему разряду.
- Складываем 1 + 1 и получаем 2, но 2 нет в двоичной системе счисления, а значит мы записываем 0, а 1 добавляем к следующему разряду.
- У нас получается в этом разряде три единицы складываем 1 + 1 + 1 = 3, этой цифры также быть не может. Значит 3 – 2 = 1. И 1 добавляем к следующему разряду.
- У нас вновь получается 1 + 1 = 2. Мы уже знаем, что 2 быть не может, значит записываем 0, а 1 добавляем к следующему разряду.
- Складывать больше нечего, значит в ответе получаем: 10100.
Один пример мы разобрали, второй решите самостоятельно:
Сложение в восьмеричной системе счисления
Так же как и в любых других системах счисления необходимо помнить Алфавит. Давайте попробуем сложить выражение.
- Все как обычно, начинаем складывать справа налево. 4 + 3 = 7.
- 5 + 4 = 9. Девяти быть не может, значит из 9 вычитаем 8, получаем 1. И еще 1 добавляем к следующему разряду.
- 3 + 7 + 1 = 11. Из 11 вычитаем 8, получаем 3. И единицу добавляем к следующему разряду.
- 6 + 1 = 7.
- Складывать далее нечего. Ответ: 7317.
А теперь проделайте сложение самостоятельно:
Сложение в шестнадцатеричной системе счисления
- Выполняем уже знакомые нам действия и не забываем про алфавит. 2 + 1 = 3.
- 5 + 9 = 14. Вспоминаем Алфавит: 14 = Е.
- С = 12. 12 + 8 = 20. Двадцати нет в шестнадцатеричной системе счисления. Значит из 20 вычитаем 16 и получаем 4. И единицу добавляем к следующему разряду.
- 1 + 1 = 2.
- Больше складывать нечего. Ответ: 24Е3.
Вычетание в системах счисления
Вычитание в десятичной системе счисления
Вспомним, как мы это делаем в десятичной системе счисления.
- Начинаем слева направо, от меньшего разряда к большему. 2 – 1 = 1.
- 1 – 0 = 1.
- 3 – 9 = ? Тройка меньше девяти, поэтому позаимствуем единицу из старшего разряда. 13 – 9 = 4.
- Из последнего разряда мы взяли единицу для предыдущего действия, поэтому 4 – 1 = 3.
- Ответ: 3411.
Вычитание в двоичной системе счисления
- Начинаем как обычно. 1 – 1 = 0.
- 1 – 0 = 1.
- От 0 отнять единицу нельзя. Поэтому заберем один разряд у старшего. 2 – 1 = 1.
- Ответ: 110.
А теперь решите самостоятельно:
Вычитание в восьмеричной системе счисления
- Ничего нового, главное помнить алфавит. 4 – 3 = 1.
- 5 – 0 = 5.
- От 3 отнять 7 мы сразу не можем, для этого нам необходимо заимствовать единицу у более старшего разряда. 11 – 7 = 4.
- Помним, что заимствовали единицу ранее, 6 – 1 = 5.
- Ответ: 5451.
Пример для самостоятельного решения:
Вычитание в шестнадцатеричной системе счисления
Возьмем предыдущий пример, и посмотрим каков будет результат в шестнадцатеричной системе. Такой же или другой?
- 4 – 3 = 1.
- 5 – 0 = 5.
- От 3 отнять 7 мы сразу не можем, для этого нам необходимо заимствовать единицу у более старшего разряда. 19 – 7 = 12. В шестнадцатеричной системе 12 = С.
- Помним, что заимствовали единицу ранее, 6 – 1 = 5
- Ответ: 5С51
Пример для самостоятельного решения:
Умножение в системах счисления
Умножение в десятичной системе счисления
Давайте запомним раз и навсегда, что умножение в любой системе счисления на единицу, всегда даст тоже самое число.
- Каждый разряд умножаем на единицу, как обычно справа налево, и получаем число 6748;
- 6748 умножаем на 8 и получаем число 53984;
- Проделываем операцию умножения 6748 на 3. Получаем число 20244;
- Складываем все 3 числа, по правилам. Получаем 2570988;
- Ответ: 2570988.
Умножение в двоичной системе счисления
В двоичной системе умножать очень легко. Мы всегда умножаем либо на 0, либо на единицу. Главное, это внимательно складывать. Давайте попробуем.
- 1101 умножаем на единицу, как обычно справа налево, и получаем число 1101;
- Проделываем эту операцию еще 2 раза;
- Складываем все 3 числа внимательно, помним про алфавит, не забывая про лесенку;
- Ответ: 1011011.
Пример для самостоятельного решения:
Умножение в восьмеричной системе счисления
Есть небольшой лайфхак, как считать в восьмеричной системе. Давайте рассмотрим на примере:
- 5 х 4 = 20. А 20 = 2 х 8 + 4. Остаток от деления записываем в число – это будет 4, а 2 держим в уме. Проделываем эту процедуру справа налево и получаем число 40234;
- При умножении на 0, получаем четыре 0;
- При умножении на 7, у нас получается число 55164;
- Теперь складываем числа и получаем – 5556634;
- Ответ: 5556634.
Пример для самостоятельного решения:
Умножение в шестнадцатеричной системе счисления
Все как обычно, главное вспомните алфавит. Буквенные цифры, для удобства переводите в привычную для себя систему счисления, как умножите, переводите обратно в буквенное значение.
Давайте для наглядности разберем умножение на 5 числа 20А4.
- 5 х 4 = 20. А 20 = 16 + 4. Остаток от деления записываем в число – это будет 4, а 1 держим в уме.
- А х 5 + 1 = 10 х 5 + 1 = 51. 51 = 16 х 3 + 3. Остаток от деления записываем в число – это будет 3, а 3 держим в уме.
- При умножении на 0, получаем 0 + 3 = 3;
- 2 х 5 = 10 = А; В итоге у нас получается А334; Проделываем эту процедуру с двумя другими числами;
- Помним правило умножения на 1;
- При умножении на В, у нас получается число 1670С;
- Теперь складываем числа и получаем – 169В974;
- Ответ: 169В974.
Пример для самостоятельного решения:
Деление в системах счисления
С делением все так же, как и в привычной нам десятичной системе счисления.
Деление в двоичной системе счисления
В двоично системе счисления делить гораздо приятней, чем в десятичной системе. Потому что в десятичной надо угадывать числа и постоянно умножать, чтобы у нас получилось нужное значение. А в двоичной системе на какое еще число кроме единицы необходимо умножить, чтобы получить нужное значение? Правильно, ни на какое.
- Сколько в 101 получится 11? Правильно, 1. 101 – 11 = 10;
- 100 / 11? Так же 1 раз 11 поместится в 100. 100 – 11 = 1;
- 11 / 11 = 1, в остатке 0;
- Ответ: 111.
Деление в восьмеричной системе счисления
- 46 меньше 53, значит делить будем 462. Надо угадать сколько раз число 53 поместиться? Угадываем 7 и записываем;
- 53 / 53 = 1. Записываем к ответу, в остатке у нас 0;
- Последний 0 мы так же записываем к ответу, так как делить больше нечего;
- Ответ: 710.
Деление в шестнадцатеричной системе счисления
Осталось самое страшное – это научиться делить в шестнадцатеричной системе. Да прибудет с нами сила.
- 4С мы должны поделить на 2В. Методом подбора определяем что умножить можем только 1 раз. 4С – 2В = 21 и единицу записываем в ответ;
- Также методом подбора определяем, что 2В, мы можем умножить на С. 219 – 204 = 15;
- Опять, методом подбора определяем, что это 8. 158 – 158 = 0, решение закончено;
- Ответ: 1С8.
8 Восьмеричная система счисления. Запись чисел в восьмеричной системе счисления. Привести примеры.
В восьмеричной системе счисления основание равно 8, для записи чисел используются цифры от 0 до 7
A8 A2 |
0 000 |
1 001 |
2 010 |
3 011 |
4 100 |
5 101 |
6 110 |
7 111 |
Для записи каждой цифры восьмеричной с.с. требуется максимум 3 разряда.
Алгоритм перевода из 2-ой в 8-ую систему счисления
При переводе из 2-ой в 8-ую систему счисления надо число разбить на триады (по три разряда) и записать каждую триаду эквивалентным двоичным кодом, недостающее число разрядов надо дополнить слева нулями.
Примеры:
1001111012= 100 111 1012=4758
11000102= 001 100 0102=1428
Алгоритм перевода из 8-ой в 2-ую
Для перевода из 8-ой в 2-ую используется обратное правило.
Каждую цифру 8-ого числа надо записать тремя разрядами соответствующего ей двоичного кода
Примеры:
Перевод из 8-ой в 2-ую | 5638 = 1011100112 |
Перевод из 8-ой в 10-ую | 5638 = 5*82 + 6*81 + 3*80 = 512+ 40 + 7 = 37110 |
9 Шестнадцатеричная система счисления. Запись чисел в шестнадцатеричной системе счисления. Привести примеры.
В шестнадцатеричной системе счисления основание системы равно 16, т.е. для записи чисел используется 16 символов: цифры от 0 до 9 и далее буквы латинского алфавита от AдоF
Ниже представлена таблица соответствия кодов чисел четырех систем счисления.
10-ая | 8-ая | 2-ая | 16-ая |
0 | 0 | 00000000 | 0 |
1 | 1 | 00000001 | 1 |
2 | 2 | 00000010 | 2 |
3 | 3 | 00000011 | 3 |
4 | 4 | 00000100 | 4 |
5 | 5 | 00000101 | 5 |
6 | 6 | 00000110 | 6 |
7 | 7 | 00000111 | 7 |
8 | 10 | 00001000 | 8 |
9 | 11 | 00001001 | 9 |
10 | 12 | 00001010 | A |
11 | 13 | 00001011 | B |
12 | 14 | 00001100 | C |
13 | 15 | 00001101 | D |
14 | 16 | 00001110 | E |
15 | 17 | 00001111 | F |
Для записи 1 цифры шестнадцатеричного числа в двоичной системе счисления требуется 4 разряда.
Алгоритм перевода чисел из 2-ой в 16-ую систему счисления
При переводе чисел из 2-ой в 16-ую систему счисления надо число разбить на тетрады (по четыре разряда) и записать каждую тетраду эквивалентным двоичным кодом, недостающее число разрядов надо дополнить слева нулями.
Примеры:
1001 11102 = 9E16
0010 00102 = 2216
Алгоритм перевода чисел из 16-ой в 2-ую
Для перевода из 16-ой в 2-ую используется обратное правило.
Каждую цифру шестнадцатеричного числа надо записать четырьмя разрядами соответствующего ей двоичного кода
Перевод из 16-ой в 2-ую | 17316 = 1011100112 |
Перевод из 16-ой в 10-ую | 17316 = 1*162 + 7*161 + 3*160 = 256 + 112 + 3 = 37110 |
10 Перевод чисел из десятичной системы счисления в любую другую позиционную систему счисления. Привести примеры.
Для перевода целого десятичного числа N в систему счисления с основанием q необходимо N разделить с остатком («нацело») на q , записанное в той же десятичной системе. Затем неполное частное, полученное от такого деления, нужно снова разделить с остатком на q , и т.д., пока последнее полученное неполное частное не станет равным нулю. Представлением числа N в новой системе счисления будет последовательность остатков деления, изображенных одной q-ичной цифрой и записанных в порядке, обратном порядку их получения.
Пример: Переведем число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
В двоичную В восьмеричную В шестнадцатеричную
: 7510 = 1 001 0112 = 1138 = 4B16.
Каких цифр нет в шестнадцатеричной системе счисления. Шестнадцатеричная и двоичная системы счисления
Для представления чисел в микропроцессоре используется двоичная система счисления
.
При этом любой цифровой сигнал может иметь два устойчивых состояния: «высокий уровень» и «низкий уровень». В двоичной системе счисления для изображения любого числа используются две цифры, соответственно: 0 и 1. Произвольное число x=a n a n-1 ..a 1 a 0 ,a -1 a -2 …a -m запишется в двоичной системе счисления как
x = a n ·2 n +a n-1 ·2 n-1 +…+a 1 ·2 1 +a 0 ·2 0 +a -1 ·2 -1 +a -2 ·2 -2 +…+a -m ·2 -m
где a i — двоичные цифры (0 или 1).
Восьмеричная система счисления
В восьмеричной системе счисления базисными цифрами являются цифры от 0 до 7. 8 единиц младшего разряда объединяются в единицу старшего.
Шестнадцатеричная система счисления
В шестнадцатеричной системе счисления базисными цифрами являются цифры от 0 до 15 включительно. Для обозначения базисных цифр больше 9 одним символом кроме арабских цифр 0…9 в шестнадцатеричной системе счисления используются буквы латинского алфавита:
10 10 = A 16 12 10 = C 16 14 10 = E 16
11 10 = B 16 13 10 = D 16 15 10 = F 16 .
Например, число 175 10 в шестнадцатеричной системе счисления запишется как AF 16 . Действительно,
10·16 1 +15·16 0 =160+15=175
В таблице представлены числа от 0 до 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 |
16 | 10000 | 20 | 10 |
Двоично-восьмеричные и двоично-шестнадцатеричные преобразования
Двоичная система счисления удобна для выполнения арифметических действий аппаратными средствами микропроцессора, но неудобна для восприятия человеком, поскольку требует большого количества разрядов. Поэтому в вычислительной технике помимо двоичной системы счисления широкое применение нашли восьмеричная и шестнадцатеричная системы счисления для более компактного представления чисел.
Три разряда восьмеричной системы счисления реализуют все возможные комбинации восьмеричных цифр в двоичной системе счисления: от 0 (000) до 7(111). Чтобы преобразовать двоичное число в восьмеричное, нужно объединить двоичные цифры в группы по 3 разряда (триады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от него тоже можно добавить незначащие нули до заполнения всех триад. Затем каждая триада заменяется восьмеричной цифрой.
Пример: Преобразовать число 1101110,01 2 в восьмеричную систему счисления.
Объединяем двоичные цифры в триады справа налево. Получаем
001 101 110,010 2 = 156,2 8 .
Чтобы перевести число из восьмеричной системы в двоичную, нужно каждую восьмеричную цифру записать ее двоичным кодом:
156,2 8 = 001 101 110,010 2 .
Четыре разряда шестнадцатеричной системы счисления реализуют все возможные комбинации шестнадцатеричных цифр в двоичной системе счисления: от 0 (0000) до F(1111). Чтобы преобразовать двоичное число в шестнадцатеричное, нужно объединить двоичные цифры в группы по 4 разряда (тетрады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от нее тоже нужно добавить незначащие нули до заполнения всех тетрад. Затем каждая тетрада заменяется шестнадцатеричной цифрой.
Пример: Преобразовать число 1101110,11 2 в шестнадцатеричную систему счисления.
Объединяем двоичные цифры в тетрады справа налево. Получаем
0110 1110,1100 2 = 6E,C 16 .
Чтобы перевести число из шестнадцатеричной системы в двоичную, нужно каждую шестнадцатеричную цифру записать ее двоичным кодом.
Шестнадцатеричная система счисления , на сегодняшний день является наиболее популярным средством компактной записи двоичных чисел. Очень широко используется при разработке и проектировании цифровой техники.
Как следует из названия, основанием данной системы является число шестнадцать 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 .
С другими системами счисления можно познакомиться на нашем сайте по следующим ссылкам.
Всем, кто общается с компьютером или другой цифровой техникой, приходилось встречать загадочные записи типа 10FEF, которые кажутся непосвященным каким-то шифром. Что скрывается за этими символами? Оказывается, это просто цифры. Те, которые использует шестнадцатиричная
Системы счисления
Каждый школьник знает или хотя бы где-то слышал, что все цифры, которые мы обычно используем, образуют Это название она носит просто потому, что различных символов в ней всего десять (от 0 до 9). Любое число в нашей привычной системе может быть записано с их помощью. Однако, оказывается, использовать ее удобно бывает далеко не всегда. Например, при обмене информацией между цифровыми устройствами проще всего применять систему счисления, в которой есть только две цифры: «0» — нет сигнала — или «1» — есть сигнал (напряжение или что-то еще). Она называется двоичной. Однако, чтобы описать процессы внутри таких устройств с ее помощью, придется выполнять слишком длинные и трудные для понимания записи. Поэтому была придумана шестнадцатиричная система счисления.
Понятие шестнадцатеричной системы
Почему же для цифровых устройств используется именно система, которая содержит шестнадцать разных символов? Как известно, информация в компьютерах передается в виде байтов, которые обычно содержат 8 бит. А единица данных — машинное слово — включает в себя 2 байта, то есть 16 бит. Таким образом, с помощью шестнадцати разных символов можно описать ту информацию, которая является мельчайшей частицей при обмене. Шестнадцатиричная система счисления включает наши привычные цифры (естественно, от 0 до 9), а также первые буковки (A, B, C, D, E, F). Именно с помощью этих символов принято записывать любую единицу информации. С ними можно производить любые арифметические действия. То есть сложение, вычитание, умножение, деление. Результатом также будет шестнадцатеричное число.
Где применяется
Шестнадцатиричная система используется для записи кодов ошибок. Они могут возникать при работе различных программных продуктов. Например, так кодируются ошибки операционной системы. Каждое число при этом стандартное. Можно выяснить, какая именно ошибка произошла в процессе работы, расшифровав его с помощью инструкции. Также применяются такие символы при написании программ на языках низкого уровня, например ассемблере. Шестнадцатиричная система счисления любима программистами еще и потому, что ее составляющие очень легко могут быть переведены в двоичные, которые являются «родными» для всей цифровой техники. С помощью таких символов описывают также цветовые схемы. Кроме того, абсолютно все файлы в компьютере (и текстовые, и графические, и даже музыкальные или видео) представляются после трансляции в виде последовательности Просматривать исходный удобнее всего как раз в виде шестнадцатеричных символов.
Конечно, любое число можно записать в различных системах счисления. Это и десятичная, и двоичная, и шестнадцатеричная. Чтобы перевести слово из одной из них в другую, следует воспользоваться таким сервисом, как переводчик систем счисления, или сделать это самостоятельно с помощью определенного алгоритма.
Шестнадцатеричная система счисления имеет алфавит, состоящий из 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 .
Возникла в древнем Вавилоне. В Индии система работает в виде позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали называть арабской.
Позиционная система счисления — значение всех цифр зависит от позиции (разряда) данной цифры в числе.
Примеры , стандартная десятичная система счисления — это позиционная система. Допустим, дано число 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 |
Вконтакте
Одноклассники
Google+
11 в 16 ричной системе. Алфавит шестнадцатеричной системы счисления
Шестнадцатеричная запись («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-разрядных значений.
Результат уже получен!
Системы счисления
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 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). Далее объединяя эти результаты получим.
Привычная для человека система счисления – десятичная. В ее основу входят десять цифр от 0 до 9. Шестнадцатеричную систему отличает наличие в ней первых шести букв латинского алфавита для записи чисел помимо основных цифр. То есть после цифры 9 следует символ «A», который соответствует числу 10 для десятичной системы. Соответственно, F в шестнадцатеричной системе – это 16 в десятичной. Использование шестнадцати символов в системе – неслучайный выбор.
Единица информации – бит. Восемь бит образуют байт. Существует понятие, как машинное слово – это единица данных, представляющая собой два , то есть шестнадцать бит. Таким образом, используя шестнадцать различных символов, можно описывать любую информацию, которая при обмене данных будет наименьшей частицей. С ними можно производить любые арифметические действия, результат, соответственно, получится тоже в шестнадцатеричной системе.
Для того чтобы отличать, что число записано в шестнадцатеричной системе, после него записывают букву «h» или нижний индекс «16».
Применение
Наиболее широкое применение шестнадцатеричной системы счисления – это коды ошибок программных продуктов, например, операционной системы. Числа, заложенные в этих кодах, стандартизированы. Имея специальную таблицу, всегда можно определить, что именно означает та или иная ошибка.
В языках низкого уровня, максимально приближенным к машинным кодам шестнадцатеричная система применяется для написания программ. Многие программисты используют ее и при работе с языками высокого уровня, потому что числа в этой системе при помощи специальной таблицы соответствия легко переводятся в двоичную систему, на которой основана работа всей цифровой техники. Любая информация в компьютере, будь то музыкальный файл или текстовый документ, после трансляции представлена последовательностью исходного двоичного кода, а его удобнее просматривать представленным символами шестнадцатеричной системы.
Также одно из применений шестнадцатеричных символов – описание цветовых схем, то есть три компонента R, G, B описываются соответствующим данной системе способом. Данный подход к записи получил название шестнадцатеричный цвет
Возможность просмотреть программу в шестнадцатеричном коде позволяет отладить ее, внести изменения, а злоумышленниками данный подход используется для взлома программ.
Многие пользователи компьютеров понимают, что компьютер работает в двоичной системе счисления. Традиционно состояния двоичной системы представляются цифрами 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” в начале обозначают, что используется шестнадцатеричная запись.
Шестнадцатеричная система счисления. аша первая программа.
Для написания программ на Ассемблере, необходимо разобраться с шестнадцатеричной системой счисления. Ничего сложного в ней нет. Мы используем в жизни десятичную систему. Уверен, что вы все ее знаете, поэтому я постараюсь объяснить шестнадцатеричную систему, проводя аналогию с десятичной.
Итак, в десятичной системе если мы к какому-нибудь числу справа добавим нуль, то это число увеличится в 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 выпуска вы поймете принцип и структуру программы на Ассемблере. Может быть, вам показался язык Ассемблера чрезвычайно сложным, но это, поверьте, с первого взгляда.
1
Первый слайд презентации: Шестнадцатеричная система счисления
Информатика для СПО
Изображение слайда
2
Слайд 2: Шестнадцатеричная система счисления
11 Шестнадцатеричная система счисления 2 Основание : 16 Алфавит : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1 0 16 16 10 444 16 27 432 12 444 = 1BC 16 1 BC 16 2 1 0 разряды = 1 ·16 2 + 11 ·16 1 + 12 ·16 0 = 256 + 176 + 12 = 444 A, 10 B, 11 C, 12 D, 13 E, 14 F 15 С B 16 1 16 16 0 0 1 C B
Изображение слайда
3
Слайд 3: Примеры
3 17 1 = 206 = 1C 5 16 = 22B 16 =
Изображение слайда
4
Слайд 4: Шестнадцатеричная система счисления
4 X 10 X 16 X 2 X 10 X 16 X 2 0 0 0000 8 8 1000 1 1 0001 9 9 1001 2 2 0010 10 A 1010 3 3 0011 11 B 1011 4 4 0100 12 C 1100 5 5 0101 13 D 1101 6 6 0110 14 E 1110 7 7 0111 15 F 1111
Изображение слайда
5
Слайд 5: Перевод в двоичную систему
5 16 10 2 трудоёмко 2 действия 16 = 2 4 Каждая шестнадцатеричная цифра может быть записана как четыре двоичных ( тетрада )! ! 7 F1A 16 = 7 F 1 A 0 1 11 { { 1 1 11 0 001 1010 2 { {
Изображение слайда
6
Слайд 6: Примеры
6 C73B 16 = 2FE1 16 =
Изображение слайда
7
Слайд 7: Перевод из двоичной системы
7 Шаг 1. Разбить на тетрады, начиная справа: 000 1 0010 1110 1111 2 Шаг 2. Каждую тетраду записать одной шестнадцатеричной цифрой: 000 1 0010 1110 1111 2 1 2 E F Ответ: 1001011101111 2 = 12 EF 16 1001011101111 2
Изображение слайда
8
Слайд 8: Примеры
8 1010101101010110 2 = 111100110111110101 2 = 110110110101111110 2 =
Изображение слайда
9
Слайд 9: Перевод в восьмеричную и обратно
9 трудоёмко 3 DEA 16 = 11 1101 1110 1010 2 16 10 8 2 Шаг 1. Перевести в двоичную систему: Шаг 2. Разбить на триады (справа): Шаг 3. Триада – одна восьмеричная цифра: 0 11 110 111 101 010 2 3 DEA 16 = 36752 8
Изображение слайда
10
Слайд 10: Примеры
10 A35 16 = 765 8 =
Изображение слайда
11
Слайд 11: Арифметические операции
11 сложение A 5 B 16 + C 7 E 16 1 1 6 D 9 16 10 5 11 + 12 7 14 11+14=25= 16 +9 5+7+ 1 = 13 = D 16 10+12=22= 16 +6 1 1 в перенос 1 в перенос 13 9 6 1
Изображение слайда
12
Слайд 12: Примеры
12 С В А 16 + A 5 9 16 F D В 16 + A B C 16
Изображение слайда
13
Слайд 13: Арифметические операции
13 13 вычитание С 5 B 16 – A 7 E 16 заём 1 D D 16 1 2 5 11 – 1 0 7 14 ( 11+ 16 ) – 14= 13 = D 16 (5 – 1 )+ 16 – 7= 13 = D 16 ( 12 – 1 ) – 10 = 1 заём 13 1 13
Изображение слайда
14
Последний слайд презентации: Шестнадцатеричная система счисления: Примеры
14 1 В А 16 – A 5 9 16
Изображение слайда
Шестнадцатеричная система счисления — определение, преобразование, примеры, часто задаваемые вопросы
Шестнадцатеричная система счисления является одним из типов систем счисления наряду с двоичной, восьмеричной и десятичной. Базовое число шестнадцатеричной системы счисления — 16, где оно включает как числа от 0 до 9, так и цифры от A до F. Шестнадцатеричное число считается одним из наиболее удобных способов продемонстрировать двоичное число на компьютерах и выполняется с помощью преобразования. стол. Давайте узнаем больше о шестнадцатеричной системе счисления, ее использовании, таблице преобразования и решим несколько примеров, чтобы лучше понять концепцию.
Определение шестнадцатеричной системы счисления
Шестнадцатеричное слово можно разделить на «шестнадцатеричный» и «десятичный», где «шестнадцатеричный» означает 6, а «десятичный» означает 10. Шестнадцатеричная система счисления описывается как 16-значное числовое представление чисел от 0 до 9 и цифр от 0 до 9. A — F. Другими словами, первые 9 чисел или цифр представлены как числа, а следующие 6 цифр представлены как символы от A — F. Шестнадцатеричная система очень похожа на десятичную систему счисления, которая имеет базовое число 9.Следовательно, после 9 цифр 10-я цифра представлена как символ — 10 как A, 11 как B, 12 как C, 13 как D, 14 как E и 15 как F. Следовательно, 16 цифр равны 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Например: \ (7B3_ {16}, 6F_ {16}, 4B2A_ {16} \) — шестнадцатеричные числа. .
Шестнадцатеричная система счисления также известна как позиционная система счисления, поскольку каждая цифра имеет вес в степени 16. Каждая цифра в 16 раз более значима, чем предыдущая. Следовательно, когда мы преобразуем любое шестнадцатеричное число в любую другую систему счисления, мы умножаем цифры индивидуально, имея в виду степень 16 в соответствии с их положением.
Преобразование шестнадцатеричной системы счисления в другую
Шестнадцатеричное число можно преобразовать в двоичное, восьмеричное и десятичное с помощью базового числа 16. Поскольку каждая цифра имеет вес в степени 16, для преобразования из шестнадцатеричного числа мы используем сумму произведения каждой цифры на ее позиционное значение. умножая каждую цифру слева на 16 0 , 16 1 , 16 2 , 16 3 и справа 16 -1 , 16 -2 , 16 -3 .Разберем подробно каждый метод конвертации.
Преобразовать шестнадцатеричное в двоичное
Преобразование шестнадцатеричного числа в двоичное выполняется двумя способами: один — с таблицей преобразования, а два — без таблицы преобразования. Давайте исследуем оба метода:
Метод 1: Преобразование шестнадцатеричного числа в двоичное с таблицей преобразования
Чтобы преобразовать шестнадцатеричное число в двоичное с помощью таблицы преобразования, мы используем следующую таблицу. Сначала мы конвертируем шестнадцатеричное число в десятичное, получая эквивалент десятичного числа каждой цифры, просматривая таблицу.Мы конвертируем это десятичное число в двоичное, просматривая ту же таблицу. Наконец, чтобы получить двоичное число, мы объединяем цифры вместе. Давайте посмотрим на пример.
Пример: Преобразование шестнадцатеричного \ ((67F) _ {16} \) в двоичное.
Решение: Просматривая таблицу преобразования, найдите эквивалент каждой десятичной цифры.
6 = \ ((6) _ {10} \), 7 = \ ((7) _ {10} \), F = \ ((15) _ {10} \)
После получения десятичного числа для каждой цифры, глядя на таблицу преобразования, преобразуйте каждое десятичное число в двоичное.
\ ((6) _ {10} \) = \ ((0110) _ {2} \)
\ ((7) _ {10} \) = \ ((0111) _ {2} \)
\ ((F) _ {10} \) = \ ((1111) _ {2} \)
Соедините все двоичные числа вместе, чтобы получить последнее.
Следовательно, \ ((67F) _ {16} \) = \ ((011001111111) _ {2} \).
Метод 2: Преобразование шестнадцатеричного числа в двоичное без таблицы преобразования
Этот метод требует как умножения, так и деления чисел с использованием соответствующих основных чисел. Основное шестнадцатеричное число — 16, основание десятичного числа — 10, а основание двоичной системы счисления — 2.Мы умножаем каждую цифру на 16 n-1 , где цифра находится в своей n-й позиции, чтобы получить десятичное число. После преобразования цифр мы делим десятичное число на 2, оставляя остаток в стороне и деля частное на 2, пока не дойдем до нуля. Наконец, чтобы получить двоичное число, расположим остатки снизу вверх. Давайте посмотрим на пример.
Пример: Преобразование шестнадцатеричного \ ((76) _ {16} \) в двоичное.
Решение: Преобразуйте \ ((76) _ {16} \) в десятичное, умножив каждую цифру на 16 n-1 .Умножьте это на
\ ((76) _ {16} \) = 7 × 16 (2-1) + 6 × 16 (1-1)
\ ((76) _ {16} \) = 7 × 16 1 + 6 × 16 0
\ ((76) _ {16} \) = 7 × 16 + 6 × 1
\ ((76) _ {16} \) = 112 + 6
\ ((76) _ {16} \) = 118
Следовательно, \ ((76) _ {16} \) = \ ((118) _ {10} \).
Преобразуйте \ ((118) _ {10} \) в двоичное число, разделив число на 2, пока частное не станет равным нулю.
Следовательно, \ ((118) _ {10} \) = \ ((1110110) _ {2} \).
Следовательно, \ ((76) _ {16} \) = \ ((1110110) _ {2} \).
Преобразование шестнадцатеричной системы в восьмеричную
Преобразование шестнадцатеричного числа в восьмеричное выполняется в два этапа, то есть сначала преобразовать шестнадцатеричное число в десятичное число, а затем преобразовать его в восьмеричное число. Давайте посмотрим на пример, чтобы лучше понять этот метод.
Пример: Преобразовать \ ((AE5) _ {16} \) в восьмеричное.
Решение:
\ ((AE5) _ {16} \) = A × 16 2 + E × 16 1 + 5 × 16 0
\ ((AE5) _ {16} \) = 10 × 16 2 + 14 × 16 1 + 5 × 16 0 (преобразовать символы в цифры, глядя на таблицу преобразования шестнадцатеричного числа в десятичную, используемую выше)
\ ((AE5) _ {16} \) = 10 × 64 + 14 × 16 + 5 × 1
\ ((AE5) _ {16} \) = 640 + 224 + 5
\ ((AE5) _ {16} \) = \ ((869) _ {10} \).
Преобразуйте десятичное число в восьмеричное, разделив его на 2, пока частное не станет равным 0.
869/8 = 108, остаток 5
108/8 = 13, остаток 4
13/8 = 1, остаток 5
1/8 = 0, остаток 1
Чтобы получить окончательное восьмеричное число, располагаем остаток снизу вверх.
Следовательно, \ ((AE5) _ {16} \) = \ ((1545) _ {8} \).
Преобразование шестнадцатеричного числа в десятичное
Преобразование шестнадцатеричного числа в десятичное выполняется аналогично предыдущим двум i.е. умножьте каждую цифру на степень 16. Давайте рассмотрим пример.
Пример: Преобразование \ ((DC24) _ {16} \) в десятичное.
Решение:
\ ((DC24) _ {16} \) = D × 16 3 + C × 16 2 + 2 × 16 1 + 4 × 16 0
\ ((DC24) _ {16} \) = 13 × 16 3 + 12 × 16 2 + 2 × 16 1 + 4 × 16 0 (преобразование символов в цифры в шестнадцатеричном формате в десятичную таблицу преобразования, используемую выше)
\ ((DC24) _ {16} \) = 13 × 4096 + 12 × 256 + 2 × 16 + 4 × 1
\ ((DC24) _ {16} \) = 53248 + 3072 + 32 + 4
\ ((DC24) _ {16} \) = 56356
Следовательно, десятичный эквивалент \ ((DC24) _ {16} \) = \ ((56356) _ {10} \).
Преобразование из другой в шестнадцатеричную систему счисления
Преобразование из других систем счисления, таких как двоичная, восьмеричная и десятичная в шестнадцатеричную, выполняется аналогичным образом. Здесь также используется приведенная выше таблица преобразования. Давайте подробно обсудим каждое преобразование.
Преобразовать двоичное в шестнадцатеричное
Чтобы преобразовать двоичное в шестнадцатеричное, мы используем таблицу преобразования, используемую в предыдущем разделе. Давайте посмотрим на пример для лучшего понимания.
Пример: Преобразовать \ ((11001111011) _ {2} \) в шестнадцатеричный.
Решение: Для шестнадцатеричного числа двоичные цифры выражаются в 4. Следовательно, каждые 4 цифры в двоичном формате становятся одной цифрой 1 в шестнадцатеричном формате. Посмотрев на таблицу преобразования, мы получим
0110 = 6, 0111 = 7, 1011 = B
Составляем числа вместе, чтобы получить окончательное число.
Следовательно, \ ((11001111011) _ {2} \) = \ ((67B) _ {16} \).
Преобразовать восьмеричное в шестнадцатеричное
Чтобы преобразовать восьмеричное число в шестнадцатеричное, мы сначала преобразуем восьмеричное число в двоичное число, а затем в шестнадцатеричное число.Восьмеричное в двоичное имеет другую таблицу преобразования, поскольку 3 двоичных цифры составляют 1 восьмеричную цифру. Таблица преобразования:
Пример: Преобразовать \ ((141) _ {8} \) в шестнадцатеричный
Решение: Глядя на таблицу, мы можем преобразовать каждую восьмеричную цифру в двоичную.
1 = 001, 4 = 100, 1 = 001
Следовательно, \ ((141) _ {8} \) = \ ((001100001) _ {2} \)
Посмотрев на таблицу преобразования двоичного кода в шестнадцатеричный, мы получим
0110 = 6, 0001 = 1 (ноль слева от последней цифры может быть удален или добавлен в соответствии с требованиями)
Следовательно, \ ((141) _ {8} \) = \ ((61) _ {16} \).
Преобразовать десятичное число в шестнадцатеричное
Преобразование десятичного числа в шестнадцатеричное выполняется с использованием основного шестнадцатеричного числа, равного 16, поэтому число необходимо разделить на 16, пока частное не станет равным нулю. Давайте посмотрим на пример.
Пример: Преобразование \ ((150) _ {10} \) в шестнадцатеричное.
Решение: Разделите 150 на 16, пока частное не станет равным нулю.
150/16 = 9, остаток 6
9/16 = 0, остаток 9
Запишите остаток снизу вверх.
Следовательно, \ ((150) _ {10} \) = \ ((96) _ {16} \).
Шестнадцатеричная система счисления с десятичной запятой
Шестнадцатеричное число с десятичной точкой состоит из двух частей — целой и дробной. Целая часть находится слева от десятичной точки, а дробная часть — справа от десятичной точки. Поскольку цифры используют степень 16, цифры справа будут иметь степень 16 в порядке убывания. Например: 5E.64 = 5 × 16 1 + E × 16 0 + 6 × 16 -1 + 4 × 16 -2
Связанные темы
Ниже перечислены некоторые интересные темы, связанные с шестнадцатеричной системой счисления, обратите внимание.
Часто задаваемые вопросы о шестнадцатеричной системе счисления
Что такое шестнадцатеричная система счисления?
Шестнадцатеричная система счисления также называется позиционной системой счисления, поскольку каждая цифра в шестнадцатеричном числе имеет степень 16, поскольку базовое число равно 16. В отличие от других систем счисления, шестнадцатеричная система счисления имеет цифры от 0 до 9 и от 10 — 16 они представлены символами, т.е. 10 как A, 11 как B, 12 как C, 13 как D, 14 как E и 15 как F. Например, \ ((28E) _ {16} \), \ ((AC7 ) _ {16} \), \ ((EF.6A) _ {16} \) — все шестнадцатеричные числа.
Где используется шестнадцатеричная система счисления?
Шестнадцатеричное число чаще всего используется разработчиками компьютерных систем и программистами. Эта система счисления считается очень простой в использовании и удобна для человека, поскольку она также представляет двоичные числа в компьютерах. Каждая шестнадцатеричная цифра представляет 4 бита или цифры в двоичном формате, которые также используются в методе преобразования.
Что такое 0xFF?
Число 0xFF — это шестнадцатеричная система счисления с основанием 16, состоящая из двух чисел F.Двоичный эквивалент F — 1111. Следовательно, 0xFF в двоичном формате — это 11111111.
Почему он называется шестнадцатеричным?
В шестнадцатеричной системе счисления используются десятичные числа и 6 дополнительных символов. В десятичной системе счисления нет числового представления цифр, кроме числа 9. Следовательно, символы или алфавиты используются для представления чисел от 10 до 16, поскольку базовое число шестнадцатеричного числа равно 16. Оно представлено как 10 как A, 11 как B, 12 как C, 13 как D, 14 как E и 15 как F.
Какие четыре типа системы счисления?
В математике есть четыре типа систем счисления, это:
Как писать шестнадцатеричные числа?
Шестнадцатеричные числа имеют степень 16 для каждой цифры, которая умножается на каждую цифру, и произведение складывается, чтобы получить окончательное число преобразования. 16 n-1 , где n — n-я позиция цифры, умножается на каждую цифру, начиная слева и двигаясь вправо в порядке убывания.Например: \ ((7D1E) _ {16} \) = 7 × 16 3 + D × 16 2 + 1 × 16 1 + E × 16 0 . При преобразовании шестнадцатеричного числа в двоичное, восьмеричное или десятичное мы сначала преобразуем символы в цифры, а затем конвертируем.
Преобразование двоичного числа в шестнадцатеричное | Преобразование шестнадцатеричного числа в двоичное
Постановка проблемы
В восьмеричной системе мы сгруппировали каждые 3 бита двоичного числа.
Но на компьютере распределение памяти всегда кратно 4.
Как, 1 байт (8 бит), 4 байта (32 бита).
Как мы можем легко обрабатывать адрес памяти компьютера?
Решение — шестнадцатеричная система счисления
В шестнадцатеричной системе счисления мы группируем каждые 4 двоичных бита.Так что мы можем легко представить адреса памяти компьютера.
Возможные значения, которые могут быть сформированы с использованием 4 бита: 15 (1111) 2 .
Шестнадцатеричная система счисления = {0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F}.
Также называется системой счисления с основанием 16.
Двоичный | Десятичное | Шестнадцатеричный |
---|---|---|
0000 | 0 | 0 |
0001 | 1 | 1 |
0010 | 2 | 2 |
0011 | 3 | 3 |
0100 | 4 | 4 |
0101 | 5 | 5 |
0110 | 6 | 6 |
0111 | 7 | 7 |
1000 | 8 | 8 |
1001 | 9 | 9 |
1010 | 10 | A или |
1011 | 11 | B или b |
1100 | 12 | C или c |
1101 | 13 | D или d |
1110 | 14 | E или e |
1111 | 15 | Факс |
Шестнадцатеричная система счисления будет использовать буквы от A до F для обозначения чисел от 10 до 15.
10-A, 11-B, 12-C, 13-D, 14-E, 15-F
Двоичное в шестнадцатеричное
Преобразуем (10001101) 2 в шестнадцатеричный формат.
Группировать каждые 4 двоичных бита справа налево.
Наконец, объедините результаты.
(10001101) 2
(1000) (1101)
(1000) = (8)
(1101) = (13) ==> 13 -> D
(1000) (1101) = (8D) 16
Пояснения к изображениям
Если количество битов не кратно 4.Добавьте нули перед двоичным числом, чтобы получилась идеальная 4-битная группа.
Пример
(101010) 2
Здесь количество битов равно 6. Добавив два нуля перед двоичным числом, мы можем сделать его кратным 4.
Нравится, (00101010) 2 .
из шестнадцатеричного в двоичное
Чтобы преобразовать шестнадцатеричное число в двоичное, нам нужно представить каждую шестнадцатеричную цифру в 4 двоичных бита.
Наконец, объедините двоичные биты.
Пример
Преобразуем (FD) 16 в двоичные числа
(ФЗ) 16
Ф = (1111)
D = (1101)
(FD) 16 = (11111101) 2
Пояснения к изображениям
Полезные ресурсы
https: // ru.wikipedia.org/wiki/HexadecimalТемы, которые могут вам понравиться
Как работают двоичные и шестнадцатеричные системы: введение в недесятичные системы счисления
Компьютеры, на очень низком уровне, построены на двоичных (единицах и нулях). Подумайте об этом — весь текст, который вы читаете на экране, начал свое существование как с единицы или нуля в той или иной форме. Это невероятно! Как можно превратить такую простую вещь в обширный лист символов, который можно прочитать на своем устройстве? Давайте узнаем вместе!
Десятичное
Когда вы или я считаем, мы обычно используем 10 чисел в некоторой вариации комбинации для этого: 0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
и 9
.
Когда вы считаете до 10
, вы действительно используете комбинацию 1
и 0
, чтобы построить большее число, которое мы осознаем. Число 10
сохраняется в нашем сознании, даже когда оно записано; десять .
Знание того, что мы можем отделить число от наших мыслей, позволяет нам дополнительно классифицировать число, мысленно разбивая его на более мелкие группы. Например, число 34
можно разбить на три группы: единиц , десятков и сотен .
Для числа 34
мы разбиваем его на: 0
сотен , 3
десятков и 4
единиц . Затем мы можем умножить большее число на меньшее (столбец, в котором они находятся), чтобы получить числа 30
( 3
десятков ) и 4
( 4
единиц ) . Наконец, мы складываем их все вместе, чтобы получилось число, которое мы все знаем и любим: 34
.
Эта разбивка демонстрирует ограничение с наличием 10 символов для представления чисел; имея только один столбец, наибольшее число, которое мы можем представить, будет 9
.
Помните, что число 10
представляет собой комбинацию 1
и 0
? Это связано с этим ограничением. Точно так же — с двумя столбцами — максимальное число, которое мы можем представить, — это 99
.
двоичный
Это может показаться довольно упрощенным, но это важное различие, которое необходимо сделать для понимания двоичного кода.Наша типичная десятичная система счисления известна как система счисления с основанием 10 . Он называется так, потому что для построения всех остальных чисел используются 10 символов (еще раз, это: 0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
и 9
).
Двоичный, с другой стороны, равен по основанию два . Это означает, что в этой системе счисления существует только два символа.
Для энтузиастов латинского языка двоичное происходит от слова «binarius», что означает «двое вместе». Дека , то есть 10, отсюда происходит десятичная дробь. Кроме того, термин «основание» иногда используется вместо «основания» при описании систем счисления, особенно в программировании.
Вместо использования чисел, которые могут очень быстро запутаться при обучении в первый раз, давайте использовать ** X
** s и ** O
** s в качестве двух символов для наших первых нескольких примеров. X
указывает, присутствует ли число и что мы должны добавить его к окончательной сумме; O
означает, что номер отсутствует и что мы не должны добавлять его .
Возьмем следующий пример:
В этом примере присутствуют и 1
, и 2
, поэтому мы складываем их вместе, чтобы получить 3
. Вы увидите, что, поскольку у нас может быть только присутствующее или отсутствующее значение — потому что у нас есть только два символа в двоичном формате, — это преобразование имеет меньше шагов, чем при использовании десятичного.Например, если вам нужен только номер два, вы можете просто пометить 1
как «отсутствует», используя O
:
Вы даже можете заменить два символа на 1
и 0
, чтобы получить фактическое двоичное число 10
для представления 2
:
Итак, как это происходит при попытке представить число 50
в двоичном формате?
Как видите, мы создаем столбцы, которые являются степенями 2
по тем же причинам, что и при использовании степеней 10
в десятичной системе; вы не можете представить 4
, 8
, 16
или 32
без создания нового столбца в противном случае.
Помните, что в этой системе число может только присутствовать или нет; нет
2
. Это означает, что присутствуют только символы1
и0
. Имея это в виду, это означает, что у нас может быть только11
как наибольшее представленное число без другого столбца.11
в двоичном формате — это3
в десятичном. Это показывает, что только с двумя двоичными цифрами могут быть представлены только десятичные числа:0
,1
,2
и3
.В результате нам нужно добавить столбец4
, чтобы представить это число в двоичном формате.Продолжая этот шаблон: без столбца
8
вы можете иметь только4
,2
и1
, что даст максимальное значение7
. Важно отметить, что эти значения всегда на единицу меньше степени 2.
После того, как каждая из этих степеней выложена, мы можем начать добавлять 1
с, где у нас есть минимальное количество каждого значения.Например:
-
64
меньше или равно50
? Нет. Это0
. - Является ли
32 <= 50
? Да, значит, это1
. - При перемещении вниз по списку получается
16 <= 18
? Да, это1
. -18 - 16 = 2
- Является ли
8 <= 2
? Нет, это0
. -
4 <= 2
? Нет, это тоже0
. -
2 <= 2
? Да, это1
. - Теперь, когда у нас осталось
0
, мы знаем, что остальные цифры будут0
.
Сложите все эти числа:
Колонна | Значение |
---|---|
64 | 0 |
32 | 1 |
16 | 1 |
8 | 0 |
4 | 0 |
2 | 1 |
1 | 0 |
И вуаля, у вас есть двоичное представление 50
: 0110010
.
Примечание автора:
Хотя существует множество способов найти двоичное представление десятичного числа, в этом примере используется «жадный» алгоритм. Я считаю, что этот алгоритм лучше всего подходит для изучения двоичной системы счисления, но это не единственный способ (или даже лучший способ, зачастую).
Шестнадцатеричный
Двоичная система - не единственная недесятичная система. Вы можете использовать любое число в качестве основы, если у вас достаточно символов для представления цифр.Давайте посмотрим на другой пример недесятичной системы: в шестнадцатеричной системе счисления .
- это шестнадцатеричная система счисления.
Hexa означает «шесть» на латыни, а deca означает «десять», поэтому они объединяются в «шестнадцать».
Теперь вы можете задаться вопросом, как можно сосчитать до 16 в одном столбце, когда мы используем только 10 символов для представления чисел. Для многих разработчиков ответ состоит в том, чтобы заполнить оставшиеся 6 последних символов другими символами: буквами алфавита.
0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, A
, B
, B 9069 C
, D
, E
, F
Это символы, которые составляют шестнадцатеричную систему счисления для многих разработчиков. A
в данном случае представляет собой номер 10
; F
представляет собой номер 15
.В этой системе счисления есть шестнадцать , двести пятьдесят шестерок (полученное умножением 16 на себя - 16 2 ) и другие степени 16.
Учитывая эту информацию, как бы мы представили число 50
?
Предполагая, что у нас есть столбец единиц , столбец sixteens и столбец двести пятьдесят шестерок , мы можем вычислить число аналогично предыдущему двоичному примеру:
-
256
меньше или равно50
? Нет.Это0
- Является ли
16 <= 50
? да. Итак, мы знаем, что это , по крайней мере,1
.- Итак, сколько раз вы можете вставить
16
в50
?-
16 * 2 = 32
и32 <= 50
, поэтому это как минимум2
. -
16 * 3 = 48
и48 <= 50
, поэтому это как минимум3
. -
16 * 4 = 64
.Однако,64> 50
, поэтому шестнадцатое место не может быть4
, поэтому оно должно быть3
.
-
- Теперь, когда мы знаем максимум, который мы можем иметь в шестнадцатом месте , , мы можем вычесть сумму (
48
) из нашего результата (50
).
- Итак, сколько раз вы можете вставить
- Теперь перейдем к из : сколько из может поместиться в
2
?-
1 * 1 = 1
и1 <= 2
, поэтому это как минимум1
. -
1 * 2 = 2
и2 <= 2
, и поскольку эти числа равны, мы знаем, что должно быть2
двоек .
-
Теперь, если сложить эти числа:
Колонна | Значение |
---|---|
256 | 0 |
16 | 3 |
1 | 2 |
Почему
256
? Читая это, вы можете задаться вопросом: «Откуда взялся 256
?».Сделаем шаг назад, чтобы проанализировать этот вопрос.
Если вы помните, мы используем эти 15 символов для представления цифр в шестнадцатеричном формате:
0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, A
, B
, B 9069 C
, D
, E
, F
Используя только одну цифру (или, иначе говоря: один числовой столбец), наибольшее число, которое мы можем представить, будет F
или 15
в десятичной системе.
Это похоже на то, как наибольшее число, которое мы можем представить одной десятичной цифрой, - это 9
.
Чтобы добавить число больше 15
в шестнадцатеричной системе, нам нужно добавить еще одну цифру / столбец. Этот столбец будет представлять sixteens место. Имея F
в этом столбце и в столбце , наибольшее число, которое мы можем представить, будет FF
или 255
в десятичном виде. В результате нам нужно добавить столбец двести пятьдесят шесть для представления любых чисел выше.
Те, у кого есть опыт в алгебре, могут заметить, что все это степени 16.
Так же, как
100
равно 10 2 для десятичной системы,256
равно 16 2 . Мы можем следовать этому шаблону до следующего числа в шестнадцатеричном столбце:4096
, что составляет 16 3 . Вы даже можете применить его к1
, что составляет 16 0 .Двоичный код работает точно так же. Первые 5 столбцов / цифр двоичного числа:
1
,2
,4
,8
,16
.Эти числа соответствуют своим двоичным показателям соответственно: 2 0 , 2 1 , 2 2 , 2 3 , 2 4 .Также стоит отметить, что десятичные числа можно записывать точно так же.
732
, например, в базе 10 можно записать как (7 × 10 2 ) + (3 × 10 1 ) + (2 × 10 0 ).
в двоичный
Помните, что, в конце концов, шестнадцатеричное число - это просто еще один способ представления значения с помощью определенного набора символов.Так же, как мы можем преобразовывать из двоичного в десятичное, мы можем преобразовывать из шестнадцатеричного в двоичный и наоборот. В двоичном формате набор символов намного меньше, чем в шестнадцатеричном, и в результате символьное представление длиннее.
В конце концов, это просто отражение чисел, которые мы представляем с помощью определенного набора символов. В двоичном формате эти символы более строгие, чем в шестнадцатеричном, и поэтому символьное представление длиннее.
Приложения
Цвета CSS
Как ни странно, если вы использовали «шестнадцатеричное» значение в HTML и CSS, вы, возможно, уже хорошо знакомы с сценарием, аналогичным тому, который мы прошли с шестнадцатеричным разделом.
Например, возьмите цвет # F33BC6
(розоватый цвет). Этот цвет представляет собой комбинацию 3
двухколоночных шестнадцатеричных чисел, расположенных подряд. Это номера:
F3
, 3B
, C6
Они отражают количество красного, зеленого и синего (соответственно) в этом цвете. Поскольку эти числа являются двузначными шестнадцатеричными числами, максимальное число, которое может иметь значение для отражения одного из этих цветов, - это 255
(что составляет FF в шестнадцатеричном формате).
Если вы не знакомы с тем, как красный, зеленый и синий могут сочетаться, чтобы получить знакомые цвета (например, желтый, оранжевый, фиолетовый и многие другие), возможно, стоит взглянуть на некоторые из теория цвета, лежащая в основе этого. Вы можете найти ресурсы по этой теме в Википедии и в других местах.
Эти десятичные числа следующие:
шестигранник | десятичный |
---|---|
F3 | 243 |
3B | 59 |
C6 | 196 |
И построить количество красных
, зеленых
и синих
, используемых для создания этого цвета
Представляет | шестигранник | Десятичное |
---|---|---|
Красный | F3 | 243 |
зеленый | 3Б | 59 |
Синий | C6 | 196 |
Даже не видя визуального представления, вы можете сказать, что этот цвет, вероятно, имеет пурпурный оттенок, поскольку в нем высокий процент красного и синего.
Кодировка текста
Хотя шестнадцатеричный формат имеет гораздо более заметное приложение с цветами, мы начали этот пост с вопроса: "Как ваш компьютер узнает, какие буквы отображать на экране только из двоичного кода?"
Ответ на этот вопрос довольно сложен, но давайте ответим на него очень просто (несмотря на то, что упущено много частей головоломки в стиле «нарисуйте сову»).
Давайте рассмотрим реальный способ, которым компьютеры раньше (и до некоторой степени продолжают) представлять буквы внутри: ASCII.ASCII - это старый стандарт для представления каждого текстового символа как отдельного числа внутри вашего компьютера. Возьмем следующий (упрощенный) график:
Когда пользователь вводит «Этот» , компьютер интерпретирует (используя ASCII): 84
, 104
, 105
и 115
для T
, h
, i
и s
соответственно.
Вы можете спросить: «Почему много пропущенных номеров»?
Я удалил их, чтобы примеры были простыми, но многие из них предназначены для символов (например,
#
,/
и др.), А некоторые из них предназначены для внутренних команд клавиш, которые долгое время использовались для терминальных вычислений. назад, что ваш компьютер теперь делает незаметно для вас.Также стоит упомянуть, что ASCII (который имеет больше символов, чем представлено здесь) был в конечном итоге заменен в различных приложениях на Unicode и другие форматы кодирования текста, поскольку ему не хватает различных функциональных возможностей, которые мы ожидаем от наших сегодняшних машин, таких как эмодзи и нелатинские символы. символы (например, кандзи). Тем не менее, ASCII все еще остается в некоторой степени, поскольку первые 255 символов в Unicode такие же, как они изначально были в ASCII.
Хотя я использовал приведенную выше диаграмму, чтобы отразить A как 65
, было бы правильнее сказать, что ваш компьютер внутренне интерпретирует символ как 01000001
.Это снова связано с тем, что ваш компьютер должен интерпретировать каждое число и букву как двоичные.
Заключение
Хотя это был только общий обзор того, как ваш компьютер интерпретирует эти недесятичные числа (и некоторые из их приложений), он может дать некоторые базовые представления о том, что ваш компьютер делает каждый раз, когда вы нажимаете клавишу или видите цвет на экране. Под капотом все двоичное, и теперь вы понимаете введение в то, как преобразовать двоичное в числа, возможно, вы и я лучше понимаем: в десятичное!
Пример систем счисления Python - onlinetutorialspoint
Пример системы счисления Python
Согласно математике, у нас есть четыре типа систем счисления, которые представляют числа в компьютерной архитектуре.В этом руководстве мы узнаем, как работать с этими системами счисления в языке Python.
Системы счисления Python:
Система счисления Python представляет способ использования следующих чисел в языке.
- Двоичная система счисления
- Восьмеричная система счисления
- Десятичная система счисления
- Шестнадцатеричная система счисления
Давайте посмотрим один за другим, как они используются в языке Python.
Двоичная система счисления:
- Как правило, двоичное число представляет в системе 0 или 1.
- Основание двоичной системы счисления - 2.
- Возможные цифры, которые используются в двоичной системе счисления: 0 и 1.
- Если мы хотим сохранить двоичное число в переменной python, это число должно быть разделено на 0b .
Пример: двоичная система счисления Python
х = 0b1010
print ('Значение:', x)
Выход:
(Значение: 10)
Примечание: мы не можем дать x = ob1020 , поскольку двоичные числа содержат только 0 и 1.В этом случае мы получим сообщение об ошибке, например SyntaxError: недопустимый синтаксис.
Восьмеричная система счисления:
- Основание восьмеричной системы счисления - 8.
- Возможные цифры, которые используются в восьмеричной системе счисления: от 0 до 7.
- Для представления восьмеричного числа в Python число должно начинаться с 0 (python2) или ox (python3) .
Пример: восьмеричная система счисления Python
х = 0123
print ('Значение:' + x)
Выход:
(Значение: 83)
Примечание: мы не можем дать x = o180 , поскольку восьмеричные числа содержат от 0 до 7.В этом случае мы получим сообщение об ошибке, например SyntaxError: invalid token.
Десятичная система счисления:
- Основание десятичной системы счисления - 10.
- Возможные цифры, которые используются в десятичной системе счисления: от 0 до 9.
- Система счисления по умолчанию, за которой следует python, является десятичной системой счисления.
х = 1234
print ('Значение:' + x)
Выход:
(значение: 1234)
Примечание: мы не можем дать x = 1234p , поскольку десятичные числа содержат от 0 до 9.В этом случае мы получим сообщение об ошибке, например SyntaxError: недопустимый синтаксис.
Шестнадцатеричная система счисления:
- Основание или основание шестнадцатеричной системы счисления - 16.
- Возможные цифры, которые используются в шестнадцатеричной системе счисления: от 0 до 9 и от a до f.
- Для представления шестнадцатеричного числа в Python число должно начинаться с 0x .
х = 0х25
print ('Значение:' + x)
Выход:
(Значение: 37)
Ресурсов:
Счастливого обучения 🙂
Учебники Python
систем представления чисел - десятичные, двоичные, восьмеричные и шестнадцатеричные - x-engineering.org
В этой статье мы обсудим различные системы представления чисел, где они используются и почему они полезны. Вкратце мы рассмотрим представление чисел в десятичном формате , в двоичном формате , в восьмеричном формате и шестнадцатеричном формате .
Десятичное (основание 10)
Наиболее распространенной системой представления чисел является десятичная система . Все используют это. Это настолько распространено, что большинство людей не может поверить в то, что это единственное. Его используют в финансах, инженерии и биологии почти везде, где мы видим и используем числа.
Если кто-то просит вас думать над числом, вы наверняка будете думать над десятичным числом. Если вы думаете в двоичном или шестнадцатеричном формате, у вас должна быть крайняя страсть к арифметике или программному обеспечению / программированию.
Как следует из названия, десятичная система счисления использует 10 символов / знаков. В латинском языке 10 - это «decem», поэтому десятичное число может быть связано с латинским словом.
Десятичные символы | |||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 966 10 символов от 0 до 9 .0 \] |
N | … | 100000 | 10000 | 1000 | 100 | 10 | 1 |
В приведенном ниже примере десятичное число Тот же метод будет применен к двоичному файлу, восьмеричная и шестнадцатеричная системы, являющиеся по сути способом преобразования числа из десятичной системы в другой формат (основание). Мы можем иметь в виду следующие характеристики десятичной системы чисел: Давайте теперь перейдем на сторону компьютерных фанатов. Другая система представления чисел - это двоичная . Как следует из названия и по аналогии с десятичной системой, мы можем сказать, что двоичная система использует только 2 символа / символа: В двоичном представлении мы используем только Двоичная система используется везде, где требуется хранить информацию в электронном формате. Все компьютеры, которые вы знаете, интеллектуальные устройства, все, что связано с электроникой и микроконтроллерами, используют двоичную систему. В электронике (цифровой) все операции выполняются с использованием двух уровней напряжения: высокого и низкого. Каждому уровню напряжения присваивается значение / символ: ВЫСОКИЙ для 1 и НИЗКИЙ для 0. Для микроконтроллера, на который подается напряжение + 5 В, значение Примерно мы можем сказать, что используется двоичная система, потому что она может быть переведена в электронный сигнал. Все десятичные числа, которые мы можем придумать, можно представить в виде двоичных символов.0 \\ Как вы можете см. десятичное число Пример: Указав основание числа, мы исключаем вероятность путаницы, потому что одно и то же представление (например,грамм. 11) может означать разные вещи для разных баз. Другой способ избежать путаницы - использовать специальную нотацию (префикс) для двоичных чисел. Это потому, что Вкратце характеристики двоичной системы: Все числа в восьмеричной системе представлены с использованием 8 символов / знаков, от Шестнадцатеричная система представления чисел использует 16 символов / знаков для определения чисел.Он используется в информатике в основном потому, что может представлять большие десятичные числа с меньшим количеством символов. По сравнению с десятичной системой, здесь также используются цифровые символы от 0 до 9.0 \\ Представление десятичного числа Вкратце характеристики системы представления шестнадцатеричных чисел: В таблице ниже приведены характеристики вышеупомянутые системы представления чисел. Системы представления восьмеричных и шестнадцатеричных чисел связаны с компьютерной системой , в основном с процессорами и микроконтроллерами.Например, если микропроцессор использует 8-битные данные, тогда восьмеричная система подходит для интерфейса данных. Если микропроцессор использует 16 бит, то для представления данных подходит шестнадцатеричная система. В этой статье объясняется шестнадцатеричная система счисления. Метод преобразования шестнадцатеричного в десятичный, десятичный в шестнадцатеричный, шестнадцатеричный в двоичный и двоичный в шестнадцатеричный также был разработан с примерами. Шестнадцатеричная система счисления - это 16-значная система счисления.В отличие от десятичной системы счисления, эта система использует цифры 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 и 16 соответственно. В шестнадцатеричной системе счисления каждая значащая позиция имеет позиционный вес. Наименее значимая позиция имеет вес 16 0 , т.е. 1; более высокие значимые позиции получают веса в возрастающей степени шестнадцати, т.е. 16 1 , 16 2 , 16 3 и т. д.соответственно. Шестнадцатеричный эквивалент десятичного числа может быть получен путем многократного деления данного десятичного числа на 16, пока не будет получено нулевое частное. Чтобы преобразовать десятичное число в шестнадцатеричное, число постепенно делится на 16, пока не будет достигнуто нулевое частное. Эквивалентным шестнадцатеричным числом для данного десятичного числа являются остатки, полученные в обратном порядке. Давайте рассмотрим пример, чтобы лучше понять преобразование десятичного числа в шестнадцатеричное. Пример-1: Предположим, нам нужно преобразовать (115) 10 в его эквивалент Hex. Остаток при чтении снизу вверх является эквивалентом шестнадцатеричного числа i.е. (73) 16 - шестнадцатеричный эквивалент десятичного числа 115. Пример-2: Предположим, нам нужно преобразовать (235) 10 в его эквивалент Hex. Чтение остатков снизу вверх является эквивалентом шестнадцатеричного числа, например (EB) 16 является эквивалентом шестнадцатеричного числа 235. Преобразование шестнадцатеричного числа в десятичное может быть выполнено умножением каждой значащей цифры шестнадцатеричного числа на соответствующий вес и сложением произведений.Это проиллюстрировано в следующем примере: Пример-1: преобразовать шестнадцатеричное (A3BH) 16 в эквивалентное десятичное число. A3BH = Ax16 2 + 3 × 16 1 + Bx16 0 = Ax256 + 3 × 16 + B = 10 × 256 + 48 + 11 = (2619) 10 Ответ Преобразование из шестнадцатеричной (шестнадцатеричной) системы в двоичную и наоборот может быть легко выполнено.Для получения двоичного эквивалента шестнадцатеричного числа каждая значащая цифра в данном числе заменяется его 4-битным двоичным эквивалентом. Пример, показанный ниже, иллюстрирует процесс преобразования из шестнадцатеричного в двоичное: Двоичный эквивалент шестнадцатеричного числа (2D5) 16 : (001011010101) 2 . Ответ Чтобы преобразовать двоичное число в его эквивалентное шестнадцатеричное число, группа из 4 бит создается, начиная с наименее значащей цифры.Затем каждая 4-битная группа заменяется ее эквивалентным шестнадцатеричным числом. Пример ниже иллюстрирует процесс. Шестнадцатеричный эквивалент (7B5) 16 . Ответ В шестнадцатеричной системе счисления числа представлены с основанием 16. Иногда оно также произносится как «шестнадцатеричный» . Точно так же, как двоичное число , восьмеричное число и десятичное число , базовое представление которых составляет 2, 8 и 10, соответственно, также возможно шестнадцатеричное преобразование, которое может быть представлено в таблице. Как мы знаем, есть 16 цифр в шестнадцатеричных числах, представленных от 0 до 9 так же, как десятичные дроби, но после этого оно начинается с алфавитного представления предшествующих чисел, таких как A, B, C, D и E.Давайте посмотрим, как преобразование «шестнадцатеричного» значения в другие системы счисления. Здесь вы увидите представление шестнадцатеричного числа в десятичной форме. Шестнадцатеричный 15 Вы научились преобразовывать шестнадцатеричное число в десятичное.Теперь давайте узнаем, как преобразовать десятичное число в шестнадцатеричное. Выполните следующие шаги; Пример: Преобразование (242) 10 в шестнадцатеричное. Решение : разделите 242 на 16 и повторяйте шаги, пока частное не останется равным 0. Следовательно, (242) 10 = (F2) 16 Здесь вы увидите представление шестнадцатеричного числа в восьмеричной форме числа. Шестнадцатеричный 17 Чтобы преобразовать восьмеричное число в шестнадцатеричное, мы должны сначала преобразовать восьмеричное число в десятичное, а затем десятичное в шестнадцатеричное.Давайте разберемся в этом на примере; Пример: преобразовать (121) 8 в шестнадцатеричное. ⇒ 1 × 8 2 + 2 × 8 1 + 1 × 8 0 (121) 8 = 81 10 Следовательно, 81 10 = 51 16 Здесь вы увидите представление шестнадцатеричного числа в двоичной форме.Поскольку мы можем использовать только 4 цифры для представления каждого шестнадцатеричного числа, где каждая группа имеет отличное значение от 0000 (для 0) до 1111 (для F = 15 = 8 + 4 + 2 + 1). Шестнадцатеричный 1111 Преобразование двоичного числа в шестнадцатеричное - простой метод.Вам просто нужно поместить значения двоичного числа в соответствующее шестнадцатеричное число. Пример: Преобразование (11100011) 2 в шестнадцатеричное. Следовательно, (11100011) 2 = (E3) 16 Пример 1: Что такое 5C6 (шестнадцатеричный)? Решение: Шаг 1. «5» - это положение «16 x 16», то есть 5 x16 x16 Шаг 2: «C» (12) находится в позиции «16», что означает 12 x 16. Шаг 3: «6» в позиции «1» означает 6. Ответ: 5C6 = 5 x 16 x 16 + 12 x 16 +6 = (1478) в десятичной системе счисления. Пример 2: Что такое 3C5 (шестнадцатеричный)? Решение: Шаг 1. «3» - это положение «16 x 16», то есть 3 x16 x16 Шаг 2: «C» (12) находится в позиции «16», что означает 12 x 16. Шаг 3: «5» в позиции «1» означает 5. Ответ: 5C6 = 3 x16 x 16 + 12 x 16 +5 = (965) в десятичной системе счисления. Пример 3: Что такое 7B5 (шестнадцатеричный)? Решение: Шаг 1. «7» - это положение «16 x 16», то есть 7 x16 x16 Шаг 2: «B» (11) находится в позиции «11», что означает 11 x 16. Шаг 3: 5 в позиции «1», это означает 5. Ответ: 7B5 = 7 x 16 x 16 + 11 x 16 +5 = (1973) в десятичной системе счисления. Пример 4: Что такое 2E8 (шестнадцатеричный)? Решение: Шаг 1: «2» - это положение «16 x 16», то есть 2 x16 x16 Шаг 2: «E» (14) находится в позиции «16», что означает 14 x 16. Шаг 3: «2» в позиции «1» означает 2. Ответ: 2E8 = 2 x 16 x 16 + 14 x 16 +8 = (744) в десятичной системе счисления. Пример 5: Что такое 4F8 (шестнадцатеричный)? Решение: Шаг 1. «4» - это положение «16 x 16», то есть 4 x16 x16 Шаг 2: «F» (15) находится в позиции «16», что означает 15 x 16. 670 разбито на десятичное число. с номерами от
0
до 9
. Это просто, чтобы показать, что любое число в десятичной системе может быть разложено на сумму членов, состоящих из произведения степени 10 и символов 0… 9
.0 \\
& = 60000 & + 7000 & + 0 & + 40 & + 9
\ end {split} \ end {формула *} \] двоичная (основание 2)
0
(нули) и 1
(единицы) для представления числа. 1
(высокое) будет представлено как +5 В, а значение 0
(низкое). ) на 0 В.
& = 128 & + 0 & + 0 & + 16 & + 0 & + 4 & + 0 & + 1
\ end {split} \ end {формула *} \] 149
представлено в двоичной системе серией нулей и единиц ( 10010101
). Обычно, чтобы различать десятичное и двоичное число, мы должны указать основание, на которое мы ссылаемся. Основание описывается как нижний индекс после последнего символа числа Десятичное (основание 10) Двоичное (основание 2) \ [149_ {10} \] \ [10010101_ {2} \] 1100
может представлять одиннадцать сотен в десятичной системе или десятичные двенадцать в двоичной системе. Поэтому, если нужно указать двоичное число, мы используем префикс 0b
. Пример: 0b1100
. Восьмеричное (с основанием 8)
0
до 7
.Причины использования восьмеричной системы вместо десятичной могут быть разными. Один из них заключается в том, что вместо того, чтобы использовать пальцы для счета, мы используем промежутки между пальцами. 0 \\
& = 65535 & + 0 & + 1024 & + 448 & + 40 & + 1
\ end {split} \ end {формула *} \] Шестнадцатеричное (основание 16)
Шестнадцатеричные символы 0 1 2 3 4 5 6 7 8 903 D
E F
& = 65536 & + 0 & + 1280 & + 224 & + 9
\ end {split} \ end {формула *} \] 67049
в шестнадцатеричном формате это 105E9
. Как и в случае с двоичной системой, обычной практикой является использование префикса « 0x
» для отличия от десятичной системы счисления. Пример: 0x105E9
. Система Количество символов Символы Префикс Пример Десятичный 10 , 2, 2 5, 6, 7, 8, 9 Нет 147 Двоичный 2 0, 1 0b 0b10010011 Шестнадцатеричный 3 3 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 0x 0x93 Шестнадцатеричная система счисления - преобразование из шестнадцатеричной в десятичную и двоичную
Подразделение Сгенерированный остаток 16) 115 16) 7 3 16) 0 7 - Карьера сегодня
Список шестнадцатеричных чисел
Десятичные числа 4-битное двоичное число Шестнадцатеричное число 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 A 11 1011 B 12 1100 С 13 1101 D 14 1110 E 15 1111 F Шестнадцатеричная система счисления Преобразования
Преобразование шестнадцатеричной системы счисления в десятичную
0 1 2 3 4 5 6 7 8 9 А Б К Д E Факс Десятичное 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Преобразование десятичной системы счисления в шестнадцатеричную
Преобразование шестнадцатеричной системы счисления в восьмеричную
0 1 2 3 4 5 6 7 8 9 А Б К Д E Факс восьмеричный 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 Восьмеричная система счисления в шестнадцатеричную Преобразование
Решение: Сначала преобразуйте 121 в десятичное число.
⇒ 1 × 64 + 2 × 8 + 1 × 1
⇒64 + 16 + 1
⇒81
Теперь преобразовываем 81 10 в шестнадцатеричное число. Преобразование шестнадцатеричной системы счисления в двоичную
0 1 2 3 4 5 6 7 8 9 А Б К Д E Факс Двоичный 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 Преобразование двоичной системы счисления в шестнадцатеричную
Решение: Из таблицы мы можем написать 11100011 как E3. Примеры преобразования шестнадцатеричной системы счисления