какое количество цифр используется в шестнадцатеричной системе счисления
Шестнадцатиричная система исчисления
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.
Содержание
Применение
Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, БЭСМ-6) использовали восьмеричную систему.
В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями).
Способы записи
В математике
В математике систему счисления принято писать в подстрочном знаке. Например, десятичное число 1443 можно записать как 144310 или как 5A316.
В языках программирования
В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:
Перевод чисел из одной системы счисления в другую
Перевод чисел из шестнадцатеричной системы в десятичную
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:
Перевод чисел из двоичной системы в шестнадцатеричную
Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на тетрады справа налево и заменить каждую тетраду соответствующей шестнадцатеричной цифрой.
Шестнадцатеричный код.
Шестнадцатеричная система счисления (также — шестнадцатеричный код) является позиционной системой счисления с целочисленным основанием 16. Иногда в литературе также используется термин hex (произносится «хекс», сокращение от англ. hexadecimal). Цифрами данной системы счисления принято использовать арабские цифры 0—9, а также первые символы латинского алфавита A—F. Буквы соответствуют следующим десятичным значениями:
Таким образом, десять арабских цифр вкупе с шестью латинскими буквами и составляют шестнадцать цифр системы.
Кстати, на нашем сайте вы можете перевести любой текст в десятичный, шестнадцатеричный, двоичный код воспользовавшись Калькулятором кодов онлайн.
Применение. Шестнадцатеричный код широко применяется в низкоуровневом программировании, а также в различных компьютерных справочных документах. Популярность системы обоснована архитектурными решениями современных компьютеров: в них в качестве минимальной единицы информации установлен байт (состоящий из восьми бит) — а значение байта удобно записывать с помощью двух шестнадцатеричных цифр. Значение байта может ранжироваться с #00 до #FF (от 0 до 255 в десятичной записи) — другими словами, используя шестнадцатеричный код, можно записать любое состояние байта, при этом не остаётся «лишних» не используемых в записи цифр.
В кодировке Юникод для записи номера символа используется четыре шестнадцатеричных цифры. Запись цвета стандарта RGB (Red, Green, Blue — красный, зелёный, синий) также часто использует шестнадцатеричный код (например, #FF0000 — запись ярко-красного цвета).
Способ записи шестнадцатеричного кода.
Математический способ записи. В математической записи основание системы записывают в десятичном виде в нижнем индексе справа от числа. Десятичную запись числа 3032 можно записать как 303210, в шестнадцатеричной системе данное число будет иметь запись BD816.
В синтаксисе языков программирования. Синтаксис различных языков программирования по-разному устанавливает формат записи числа, использующего шестнадцатеричный код:
* В C, C++ и схожих языках (Java) для этого используется префикс «0x», например: 0x0A0B;
* В синтаксисе некоторых разновидностей языка ассемблера используется латинская буква «h», которая ставится справа от числа, например: 20Dh. Если число начинается с латинской буквы, то перед ним ставится ноль, например: 0A0Bh. Это сделано для того, чтобы отличать от констант значения, использующие шестнадцатеричный код;
* В языке разметки HTML, а также в каскадных файлах CSS, для указания цвета в формате RGB с шестнадцатеричной системой записи, используется префикс «#»: #00DC00.
Как перевести шестнадцатеричный код в другую систему?
Перевод из шестнадцатеричной системы в десятичную. Для совершения операции перевода из шестнадцатеричной системы в десятичную, требуется представить исходное число как сумму произведений цифр в разрядах шестнадцатеричного числа на степень основания.
Системы счисления. Позиционная система счисления шестнадцатеричная.
Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали называть арабской.
Позиционная система счисления — значение всех цифр зависит от позиции (разряда) данной цифры в числе.
Шестнадцатеричная система счисления.
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления. Основанием шестнадцатеричной системы счисления является число 16.
Записывая числа в восьмеричной системе счисления мы получаем довольно компактные выражения, однако в шестнадцатеричной системе мы получаем выражения более компактными.
Применение шестнадцатеричной системы счисления.
Шестнадцатеричную систему счисления довольно хорошо используют в современных компьютерах, например с ее помощью указывают цвет: #FFFFFF — белый цвет.
Перевод чисел из одной системы счисления в другую.
Перевод чисел из шестнадцатеричной системы в десятичную.
Что бы перевести шестнадцатеричное число в десятичное, нужно заданное число привести к виду суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например, переведем шестнадцатеричное число 5A3 в десятичное. Здесь 3 цифры. Исходя их выше сказанного правила, приведем его к виду суммы степеней с основанием 16:
5A316 = 3·16 0 +10·16 1 +5·16 2 = 3·1+10·16+5·256 = 3+160+1280 = 144310
Перевод чисел из двоичной системы в шестнадцатеричную и наоборот.
Для перевода многозначного двоичного числа в шестнадцатеричную систему необходимо разделить его на тетрады справа налево и поменять все тетрады соответствующей шестнадцатеричной цифрой. Для перевода числа из шестнадцатеричной системы в двоичную необходимо поменять каждую все цифры на соответствующие тетрады из таблицы перевода, которую вы найдете ниже.
0101101000112 = 0101 1010 0011 = 5A316
Таблица перевода чисел.
Алгоритм перевода чисел из одной системы счисления в другую.
1. Из десятичной системы счисления:
2. Из двоичной системы счисления:
Например, 1000110 = 1 000 110 = 1068
Например, 1000110 = 100 0110 = 4616.
СОДЕРЖАНИЕ
Представление
Письменное представление
Практически во всех современных случаях буквы A – F или a – f обозначают значения 10–15, а цифры 0–9 используются для обозначения их обычных значений.
Не существует универсального соглашения об использовании строчных или прописных букв, поэтому каждый из них является преобладающим или предпочтительным в определенных средах по стандартам или соглашению сообщества; часто используется даже смешанный регистр. В семисегментных дисплеях используется AbCdEF в смешанном регистре, чтобы цифры можно было отличить друг от друга.
Отличие от десятичного
В линейных текстовых системах, таких как те, которые используются в большинстве сред компьютерного программирования, возникло множество методов:
Другие символы для 10-15
Использование букв от A до F для обозначения цифр выше 9 не было универсальным в ранней истории компьютеров.
Вербальные и цифровые представления
Системы подсчета на цифры были разработаны как для двоичной и шестнадцатеричной. Артур Кларк предложил использовать каждый палец в качестве битов включения / выключения, позволяя считать по пальцам от нуля до 1023 10 на десяти пальцах. Другая система для подсчета до FF 16 (255 10 ) показана справа.
Знаки
В шестнадцатеричной системе отрицательные числа могут быть выражены так же, как и в десятичной: −2A для представления −42 10 и так далее.
Шестнадцатеричная экспоненциальная запись
Преобразование
Двоичное преобразование
1111 2 | = 8 10 + 4 10 + 2 10 + 1 10 |
= 15 10 |
В этом примере показано преобразование двоичного числа в десятичное, сопоставление каждой цифры с десятичным значением и сложение результатов.
(01011110101101010010) 2 | = 262144 10 + 65536 10 + 32768 10 + 16384 10 + 8192 10 + 2048 10 + 512 10 + 256 10 + 64 10 + 16 10 + 2 10 |
= 387922 10 |
Сравните это с преобразованием в шестнадцатеричное, где каждую группу из четырех цифр можно рассматривать независимо и преобразовывать напрямую:
(01011110101101010010) 2 | знак равно | 0101 | 1110 | 1011 | 0101 | 0010 2 |
знак равно | 5 | E | B | 5 | 2 16 | |
знак равно | 5EB52 16 |
Преобразование из шестнадцатеричного в двоичное также происходит напрямую.
Другие простые преобразования
Деление-остаток в исходной базе
Как и для всех баз, существует простой алгоритм преобразования представления числа в шестнадцатеричное путем выполнения операций целочисленного деления и остатка в исходной базе. Теоретически это возможно с любой базы, но для большинства людей с помощью этого метода можно легко обрабатывать только десятичные числа, а для большинства компьютеров только двоичные (которые могут быть преобразованы гораздо более эффективными методами).
«16» может быть заменено любым другим основанием, которое может быть желательным.
Преобразование посредством сложения и умножения
B3AD = (11 × 16 3 ) + (3 × 16 2 ) + (10 × 16 1 ) + (13 × 16 0 )
что составляет 45997 в базе 10.
Инструменты для конвертации
Большинство современных компьютерных систем с графическим пользовательским интерфейсом предоставляют встроенную утилиту-калькулятор, способную выполнять преобразования между различными основами системы счисления, и в большинстве случаев также включают шестнадцатеричные.
Элементарная арифметика
В качестве альтернативы, можно также выполнять элементарные операции непосредственно в самой шестнадцатеричной системе, полагаясь на ее таблицы сложения / умножения и соответствующие стандартные алгоритмы, такие как деление в столбик и традиционный алгоритм вычитания.
Действительные числа
Рациональное число
Иррациональные числа
В таблице ниже приведены расширения некоторых распространенных иррациональных чисел в десятичной и шестнадцатеричной системе счисления.
Полномочия
Степень двойки имеет очень простое шестнадцатеричное разложение. Первые шестнадцать степеней двойки показаны ниже.
2 х | Ценить | Значение (десятичное) |
---|---|---|
2 0 | 1 | 1 |
2 1 | 2 | 2 |
2 2 | 4 | 4 |
2 3 | 8 | 8 |
2 4 | 10 шестигранник | 16 дек |
2 5 | 20 шестигранник | 32 дек |
2 6 | 40 шестигранник | 64 дек |
2 7 | 80 шестигранник | 128 дек |
2 8 | 100 шестигранник | 256 дек |
2 9 | 200 шестигранник | 512 дек |
2 А (2 10 дес. ) | 400 шестигранник | 1024 дек |
2 Б (2 11 уб ) | 800 шестигранник | 2048 декабрь |
2 С (2 12 уб ) | 1000 шестигранник | 4096 дек |
2 пр (2 13 уб ) | 2000 шестигранник | 8192 дек |
2 E (2 14 дек ) | 4000 шестигранник | 16,384 дек |
2 ж (2 15 уб ) | 8000 шестигранник | 32,768 дек |
2 10 (2 16 уб ) | 10000 шестнадцатеричный | 65 536 дек |
Культурная история
Поищите шестнадцатеричные числа в Викисловаре, бесплатном словаре. |
«С нелепым выбором букв A, B, C, D, E, F в качестве символов шестнадцатеричных чисел, усугубляющих и без того неприятные проблемы отличия восьмеричных (или шестнадцатеричных) чисел от десятичных чисел (или имен переменных), настало время для пересмотра наших числовых символов. Это должно было быть сделано до того, как плохой выбор превратился в стандарт де-факто! «
Base16 (кодировка передачи)
Есть несколько преимуществ кодировки Base16:
Основными недостатками кодировки Base16 являются:
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления, так же как восьмеричная, широко используется в компьютерной науке из-за простоты перевода в нее двоичных чисел. В случае шестнадцатеричной записи числа получаются более компактными.
В качестве алфавита шестнадцатеричной системы счисления используются цифры от 0 до 9 и шесть первых латинских букв – A, B, C, D, E, F. При переводе в десятичную систему буквы заменяются числами 10, 11, 12, 13, 14, 15 соответственно.
При переводе двоичного числа в шестнадцатеричное, первое разбивается на группы по четыре разряда, начиная с конца. В случае, если количество разрядов не кратно четырем, первая четверка дописывается нулями впереди. Каждой четверке соответствует одноразрядное число шестнадцатеричной системы счисления.
10001100101 = 0100 1100 0101 = 4 C 5 = 4C5
В случае обратного перевода шестнадцатеричные цифры заменяются соответствующими четырехразрядными двоичными числами.
Перевод из шестнадцатеричной системы счисления в десятичную выполняется аналогично переводу из двоичной и восьмеричной. Только здесь в качестве основания степени выступает число 16, а цифры от A до F заменяются десятичными числами от 10 до 15.
4C5 = 4 * 16 2 + 12 * 16 1 + 5 * 16 0 = 4 * 256 + 192 + 5 = 1221
Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи, – это число FF.
FF16 = 15 * 16 1 + 15 * 16 0 = 240 + 15 = 25510
В двоичном представлении FF будет выглядеть как восьмиразрядное число 11111111. Наименьшей рабочей ячейкой компьютерной памяти является байт, который состоит из 8-ми битов. Каждый бит может быть в двух состояниях – «включено» и «выключено». Одному из них сопоставляют ноль, другому – единицу.
Следовательно, в одном байте можно сохранить любое двоичное число в диапазоне от 00000000 до 11111111. В десятичном представлении это числа от 0 до 255. В шестнадцатеричном – от 0 до FF. С помощью шестнадцатеричной системы счисления удобно кратко, с помощью двух цифр-знаков, записывать значения байтов. Например, 0E или F5.