Как найти 16 ричную систему

На чтение 4 мин Просмотров 12.8к. Опубликовано 18.05.2022 Обновлено 19.05.2022

Шестнадцатеричная система (англ. — Hexadecimal system ) —  это базовая система счисления с снованием 16. Она, наряду с десятичной и двоичной, является одной из наиболее часто встречающихся систем счисления в мире электроники и программирования. Важно понимать, как она работает, потому что во многих случаях имеет смысл представлять число в ней, а не в двоичной или десятичной.

Шестнадцатеричная система счисления — позиционная система счисления по основанию 16.

Википедия

Существует 16 возможных цифр, которые используют для представления чисел. 10 числовых значений, которые вы привыкли видеть в десятичных числах: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9; эти значения по-прежнему представляют то же значение, что и в десятичной системе. Остальные шесть цифр представлены как A, B, C, D, E и F, которые соответствуют числам 10, 11, 12, 13, 14 и 15.

Возможно, Вы столкнетесь с представлением чисел от 10 до 15 в верхнем и нижнем регистрах. Оба варианта считаются верными. Например, A3F — это то же число, что и a3f.

Эта таблица показывает какой шестнадцатеричной цифре эквивалентно значение в десятичном и двоичном формате.

Десятичный (основание 10) Двоичный (основание 2) Шестнадцатеричный (основание 16)
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 А
11 1011 B
12 1100 С
13 1101 D
14 1110 Е
15 1111 F
таблица 16 ричной системы счисления

Содержание

  1. Перевод из шестнадцатеричной системы и в нее
  2. Преобразование из десятичной в шестнадцатеричную систему и обратно
  3. Преобразование из двоичной в шестнадцатеричную систему и обратно
  4. Использование шестнадцатеричной системы
  5. Цвета

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

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

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

Чтобы перевести десятичное число в шестнадцатеричное, нужно следовать простому алгоритму преобразования:

  1. Делим десятичное число на 16.
  2. Записываем остаток и переводим его в шестнадцатеричный формат.
  3. Делим результат прошлого действия снова на 16.
  4. Повторяем, пока в результате мы не получим 0.
  5. Переписываем записанные остатки в обратном порядке.
  6. Пример:

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

Деление Частное Остаток Порядок записи
(от последнего к первому)
1515/16 94 11 = B 3
94/16 5 14 = E 2
5/16 0 5 = 5 1

Ответ: 5EB

Читайте также: Проверяю стратегию Мартингейла на Python и показываю, почему она не работает

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

  • Пример:

    Переведем шестнадцатеричное число 5EB в десятеричную систему

    5EB = (5 × 16²) + (14 × 16¹) + (11 × 16⁰) = 1515

    Ответ: 1515

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

Чтобы перевести двоичное число в шестнадцатеричное, нужно разделить его на группы по 4 цифры и заменить каждую группу на эквивалент из таблицы

  • Пример:

    Переведем двоичное число 1010000011111 в шестнадцатеричную систему

    Для этого разбиваем число на группу по 4 цифры: 0001 0100 0001 1111

    0001 = 1; 0100 = 4; 0001 = 1; 1111 = F

    Ответ: 141F

Чтобы сделать обратное преобразование, нужно просто каждую цифру шестнадцатеричного числа заменить на эквивалент по таблице

  • Пример:

    Переведем шестнадцатеричное число 141F в двоичную систему

    1= 0001; 4 = 0100; 1 = 0001; F = 1111

    Ответ: 1010000011111

Использование шестнадцатеричной системы

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

  • Ссылки на цвета в HTML и CSS
  • Язык ассемблера
  • Сообщения об ошибках

Цвета

буквы в шестнадцатеричной системе счисления

Hex система счисления может использоваться для представления цветов на сайтах и в программах редактирования изображений в формате #RRGGBB (# = показатель того, что число было записано в шестнадцатеричном формате, RR = красный, GG = зеленый, BB = синий). Этот система использует две шестнадцатеричных цифры для каждого цвета, например, #AA3300.

Как одна шестнадцатеричная цифра представляет 4 бита, так две шестнадцатеричные цифры вместе составляют 8 бит (1 байт). Значения для каждого цвета находятся в диапазоне от 00 до FF.  В двоичной системе, 00 — это 00000000, а FF — это 11111111. Это дает 256 возможных значений для каждого из трех цветов (256 красных х 256 зеленых х 256 синих), а в сумме это больше 16 миллион цветов.

  • #FF0000 будет самым чистым красным цветом — Максимум красного, 0 зеленого и 0 синего.
  • Черный это #000000 — ни красного, ни зеленого, ни синего.
  • Белый — это #FFFFFF — при смешении всех цветов.

Системы счисления – одна из самых главных основ информатики. Практически ни в одной школе и ни в одном университете не пропускают данную тему, но зачастую именно с переводом шестнадцатеричной системы у многих возникают проблемы, хотя это не такая уж сложная задача, и её перевод практически не отличается от других систем счисления.

Давайте рассмотрим эту систему поподробнее.

Для чего нужна шестнадцатеричная система

Итак, шестнадцатеричная система счисления, как следует из названия, имеет в своём основании число 16. Почему так? Дело в том, что единица информации в информатике – это бит. Восемь бит образуют байт. Также информационной среде существует такое понятие, как машинное слово – это минимальная единица данных, представляющая собой шестнадцать бит, то есть два байта. Считается, что машинное слово – это минимальная величина разрядности регистров процессора, при которой можно работать с ЭВМ.
Так вот, как мы знаем, компьютер работает на двоичном коде. Однако, если Вы когда-нибудь переводили числа из двоичной системы в десятичную, то замечали, что в ней бывает довольно много разрядов, особенно при переводе больших чисел, например, перевод числа 5132 в двоичной системе будет записано так:

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

Как можно увидеть, при переводе в двоичную систему этого числа у нас получилось аж 13 разрядов (с 0 до 12). Довольно муторно, а главное, занимает много места на письме и отнимает много времени для перевода.
Именно для этого придумали восьмеричную и шестнадцатеричную системы счисления, для этого придумали и байты. Эти системы помогают сократить затраты на перевод чисел и привести их к более приятному визуальному виду.
Если перевести то же число 5132 в восьмеричную систему счисления, то получится «более сокращённая версия» двоичного кода:

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

Как мы видим, количество символов сократилось, так как разрядность уменьшилась до 5 (с 0 до 4).
Как можно уже понять, шестнадцатеричная система ещё сильнее сокращает разрядность (с 0 до 3) и ещё сильнее сжимает на письме переведённое число:

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

Человеку такой вид записи в любом случае удобнее, чем бесконечные нули и единицы.

Таким образом, шестнадцатеричная система используется довольно широко в современных информационных системах. Например, при помощи неё указываются коды цветовых схем, данная система используется для записи кодов ошибок, а также для программирования на языках низкого уровня типа Ассемблера, шестнадцатеричную систему зачастую используют для предоставления данных и адресов в малоразрядных ЭВМ.

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

Выше мы уже немного затронули процесс перевода чисел. Теперь мы рассмотрим его подробнее и на примерах.

Но прежде чем начать, надо узнать одну очень важную особенность шестнадцатеричной системы.

Так как система имеет своим основанием число 16, то, следовательно, всего в этой системе имеется 16 цифр, но если первые десять цифр (0-9) вполне привычные для нас, то остальные имеют вид не совсем цифровой, но, тем не менее, являются цифрами, а именно значения A, B, C, D, E, F, которые соответствуют нашим привычным числам с 10 до 15. Все цифры шестнадцатеричной системы и их «аналоги» в десятичной записаны в таблице ниже.

Таблица десятичных и шестнадцатеричных чисел

Итак, допустим, у нас есть число 40 563 в десятичной системе счисления. Переведём его в шестнадцатеричную.

  1. Сначала мы просто делим наше исходное число 40 563 на 16 в столбик. В частном у нас получилось 2 535, если умножить это число на 16, то получится 40 560, а в остатке 3. Эту тройку мы выделяем.

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

  1. Теперь мы делим 2 535, и тоже на 16, и тоже абсолютно таким же образом. Частное – 158, 16*158 = 2 528, а в остатке 7. Остаток так же, как и в тот раз, выделяем.

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

  1. Делим полученные частные до тех пор, пока они не станут меньше 16, тогда деление заканчивается. Делим 158 на 16, и находим остаток от этого деления.

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

Остаток от деления – 14, а частное, полученное при делении 158 на 16 равно 9. Так как 9 меньше 16, то процесс вычислений закончен, а 9 также выделяется.

  1. Процесс преобразования десятичного числа в шестнадцатеричное почти окончен. Для того, чтобы получить его, надо всего лишь выписать выделенные числа справа налево (т.е. в данном случае от девятки к тройке), НО, как мы писали выше, у шестнадцатеричной системы свой особый «алфавит» с 10 по 15. И как раз один из наших «остатков» (число 14) вписывается в этот диапазон, поэтому надо посмотреть в таблице, либо просто самостоятельно посчитать, что в шестнадцатеричной системе 14 будет буквой Е.

Итого весь процесс преобразования приведён на следующем изображении:

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

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

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

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

  1. Мы справа налево отделяем от числа все цифры и умножаем каждую из них на 16, и всё это складываем:

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

Также обязательно необходимо перевести буквенные обозначения шестнадцатеричной системы в числовые, чтобы можно было посчитать их в десятичном виде, то есть, для данного случая, перевести B в 11 и C в 12.

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

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

Теперь нам остаётся только перемножить и сложить всё это:

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

Таким образом, мы превратили шестнадцатеричное число 1C3B3 в десятичное число 115 635.

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

Основы систем счисления

Время на прочтение
11 мин

Количество просмотров 504K

Изучая кодировки, я понял, что недостаточно хорошо понимаю системы счислений. Тем не менее, часто использовал 2-, 8-, 10-, 16-ю системы, переводил одну в другую, но делалось все на “автомате”. Прочитав множество публикаций, я был удивлен отсутствием единой, написанной простым языком, статьи по столь базовому материалу. Именно поэтому решил написать свою, в которой постарался доступно и по порядку изложить основы систем счисления.

Введение

Система счисления — это способ записи (представления) чисел.

Что под этим подразумевается? Например, вы видите перед собой несколько деревьев. Ваша задача — их посчитать. Для этого можно — загибать пальцы, делать зарубки на камне (одно дерево — один палецзарубка) или сопоставить 10 деревьям какой-нибудь предмет, например, камень, а единичному экземпляру — палочку и выкладывать их на землю по мере подсчета. В первом случае число представляется, как строка из загнутых пальцев или зарубок, во втором — композиция камней и палочек, где слева — камни, а справа — палочки

Системы счисления подразделяются на позиционные и непозиционные, а позиционные, в свою очередь, — на однородные и смешанные.

Непозиционная — самая древняя, в ней каждая цифра числа имеет величину, не зависящую от её позиции (разряда). То есть, если у вас 5 черточек — то число тоже равно 5, поскольку каждой черточке, независимо от её места в строке, соответствует всего 1 один предмет.

Позиционная система — значение каждой цифры зависит от её позиции (разряда) в числе. Например, привычная для нас 10-я система счисления — позиционная. Рассмотрим число 453. Цифра 4 обозначает количество сотен и соответствует числу 400, 5 — кол-во десяток и аналогично значению 50, а 3 — единиц и значению 3. Как видим — чем больше разряд — тем значение выше. Итоговое число можно представить, как сумму 400+50+3=453.

Однородная система — для всех разрядов (позиций) числа набор допустимых символов (цифр) одинаков. В качестве примера возьмем упоминавшуюся ранее 10-ю систему. При записи числа в однородной 10-й системе вы можете использовать в каждом разряде исключительно одну цифру от 0 до 9, таким образом, допускается число 450 (1-й разряд — 0, 2-й — 5, 3-й — 4), а 4F5 — нет, поскольку символ F не входит в набор цифр от 0 до 9.

Смешанная система — в каждом разряде (позиции) числа набор допустимых символов (цифр) может отличаться от наборов других разрядов. Яркий пример — система измерения времени. В разряде секунд и минут возможно 60 различных символов (от «00» до «59»), в разряде часов – 24 разных символа (от «00» до «23»), в разряде суток – 365 и т. д.

Непозиционные системы

Как только люди научились считать — возникла потребность записи чисел. В начале все было просто — зарубка или черточка на какой-нибудь поверхности соответствовала одному предмету, например, одному фрукту. Так появилась первая система счисления — единичная.

Единичная система счисления

Число в этой системе счисления представляет собой строку из черточек (палочек), количество которых равно значению данного числа. Таким образом, урожай из 100 фиников будет равен числу, состоящему из 100 черточек.
Но эта система обладает явными неудобствами — чем больше число — тем длиннее строка из палочек. Помимо этого, можно легко ошибиться при записи числа, добавив случайно лишнюю палочку или, наоборот, не дописав.

Для удобства, люди стали группировать палочки по 3, 5, 10 штук. При этом, каждой группе соответствовал определенный знак или предмет. Изначально для подсчета использовались пальцы рук, поэтому первые знаки появились для групп из 5 и 10 штук (единиц). Все это позволило создать более удобные системы записи чисел.

Древнеегипетская десятичная система

В Древнем Египте использовались специальные символы (цифры) для обозначения чисел 1, 10, 102, 103, 104, 105, 106, 107. Вот некоторые из них:

image

Почему она называется десятичной? Как писалось выше — люди стали группировать символы. В Египте — выбрали группировку по 10, оставив без изменений цифру “1”. В данном случае, число 10 называется основанием десятичной системы счисления, а каждый символ — представление числа 10 в какой-то степени.

Числа в древнеегипетской системе счисления записывались, как комбинация этих
символов, каждый из которых повторялся не более девяти раз. Итоговое значение равнялось сумме элементов числа. Стоит отметить, что такой способ получения значения свойственен каждой непозиционной системе счисления. Примером может служить число 345:

image

Вавилонская шестидесятеричная система

В отличии от египетской, в вавилонской системе использовалось всего 2 символа: “прямой” клин — для обозначения единиц и “лежачий” — для десятков. Чтобы определить значение числа необходимо изображение числа разбить на разряды справа налево. Новый разряд начинается с появления прямого клина после лежачего. В качестве примера возьмем число 32:
image
Число 60 и все его степени так же обозначаются прямым клином, что и “1”. Поэтому вавилонская система счисления получила название шестидесятеричной.
Все числа от 1 до 59 вавилоняне записывали в десятичной непозиционной системе, а большие значения — в позиционной с основанием 60. Число 92:
image
Запись числа была неоднозначной, поскольку не существовало цифры обозначающей ноль. Представление числа 92 могло обозначать не только 92=60+32, но и, например, 3632=3600+32. Для определения абсолютного значения числа был введен специальный символ для обозначения пропущенного шестидесятеричного разряда, что соответствует появлению цифры 0 в записи десятичного числа:
image
Теперь число 3632 следует записывать, как:

image

Шестидесятеричная вавилонская система — первая система счисления, частично основанная на позиционном принципе. Данная система счисления используется и сегодня, например, при определении времени — час состоит из 60 минут, а минута из 60 секунд.

Римская система

Римская система не сильно отличается от египетской. В ней для обозначения чисел 1, 5, 10, 50, 100, 500 и 1000 используются заглавные латинские буквы I, V, X, L, C, D и M соответственно. Число в римской системе счисления — это набор стоящих подряд цифр.

Методы определения значения числа:

  1. Значение числа равно сумме значений его цифр. Например, число 32 в римской системе счисления имеет вид XXXII=(X+X+X)+(I+I)=30+2=32
  2. Если слева от большей цифры стоит меньшая, то значение равно разности между большей и меньшей цифрами. При этом, левая цифра может быть меньше правой максимум на один порядок: так, перед L(50) и С(100) из «младших» может стоять только X(10), перед D(500) и M(1000) — только C(100), перед V(5) — только I(1); число 444 в рассматриваемой системе счисления будет записано в виде CDXLIV = (D-C)+(L-X)+(V-I) = 400+40+4=444.
  3. Значение равно сумме значений групп и цифр, не подходящих под 1 и 2 пункты.

Помимо цифирных, существуют и буквенные (алфавитные) системы счисления, вот некоторые из них:
1) Славянская
2) Греческая (ионийская)

Позиционные системы счисления

Как упоминалось выше — первые предпосылки к появлению позиционной системы возникли в древнем Вавилоне. В Индии система приняла форму позиционной десятичной нумерации с применением нуля, а у индусов эту систему чисел заимствовали арабы, от которых её переняли европейцы. По каким-то причинам, в Европе за этой системой закрепилось название “арабская”.

Десятичная система счисления

Это одна из самых распространенных систем счисления. Именно её мы используем, когда называем цену товара и произносим номер автобуса. В каждом разряде (позиции) может использоваться только одна цифра из диапазона от 0 до 9. Основанием системы является число 10.

Для примера возьмем число 503. Если бы это число было записано в непозиционной системе, то его значение равнялось 5+0+3 = 8. Но у нас — позиционная система и значит каждую цифру числа необходимо умножить на основание системы, в данном случае число “10”, возведенное в степень, равную номеру разряда. Получается, значение равно 5*102 + 0*101 + 3*100 = 500+0+3 = 503. Чтобы избежать путаницы при одновременной работе с несколькими системами счисления основание указывается в качестве нижнего индекса. Таким образом, 503 = 50310.

Помимо десятичной системы, отдельного внимания заслуживают 2-, 8-, 16-ая системы.

Двоичная система счисления

Эта система, в основном, используется в вычислительной технике. Почему не стали использовать привычную нам 10-ю? Первую вычислительную машину создал Блез Паскаль, использовавший в ней десятичную систему, которая оказалась неудобной в современных электронных машинах, поскольку требовалось производство устройств, способных работать в 10 состояниях, что увеличивало их цену и итоговые размеры машины. Этих недостатков лишены элементы, работающие в 2-ой системе. Тем не менее, рассматриваемая система была создана за долго до изобретения вычислительных машин и уходит “корнями” в цивилизацию Инков, где использовались кипу — сложные верёвочные сплетения и узелки.

Двоичная позиционная система счисления имеет основание 2 и использует для записи числа 2 символа (цифры): 0 и 1. В каждом разряде допустима только одна цифра — либо 0, либо 1.

Примером может служить число 101. Оно аналогично числу 5 в десятичной системе счисления. Для того, чтобы перевести из 2-й в 10-ю необходимо умножить каждую цифру двоичного числа на основание “2”, возведенное в степень, равную разряду. Таким образом, число 1012 = 1*22 + 0*21 + 1*20 = 4+0+1 = 510.

Хорошо, для машин 2-я система счисления удобнее, но мы ведь часто видим, используем на компьютере числа в 10-й системе. Как же тогда машина определяет какую цифру вводит пользователь? Как переводит число из одной системы в другую, ведь в её распоряжении всего 2 символа — 0 и 1?

Чтобы компьютер мог работать с двоичными числами (кодами), необходимо чтобы они где-то хранились. Для хранения каждой отдельной цифры применяется триггер, представляющий собой электронную схему. Он может находится в 2-х состояниях, одно из которых соответствует нулю, другое — единице. Для запоминания отдельного числа используется регистр — группа триггеров, число которых соответствует количеству разрядов в двоичном числе. А совокупность регистров — это оперативная память. Число, содержащееся в регистре — машинное слово. Арифметические и логические операции со словами осуществляет арифметико-логическое устройство (АЛУ). Для упрощения доступа к регистрам их нумеруют. Номер называется адресом регистра. Например, если необходимо сложить 2 числа — достаточно указать номера ячеек (регистров), в которых они находятся, а не сами числа. Адреса записываются в 8- и 16-ричной системах (о них будет рассказано ниже), поскольку переход от них к двоичной системе и обратно осуществляется достаточно просто. Для перевода из 2-й в 8-ю число необходимо разбить на группы по 3 разряда справа налево, а для перехода к 16-ой — по 4. Если в крайней левой группе цифр не достает разрядов, то они заполняются слева нулями, которые называются ведущими. В качестве примера возьмем число 1011002. В восьмеричной — это 101 100 = 548, а в шестнадцатеричной — 0010 1100 = 2С16. Отлично, но почему на экране мы видим десятичные числа и буквы? При нажатии на клавишу в компьютер передаётся определённая последовательность электрических импульсов, причём каждому символу соответствует своя последовательность электрических импульсов (нулей и единиц). Программа драйвер клавиатуры и экрана обращается к кодовой таблице символов (например, Unicode, позволяющая закодировать 65536 символов), определяет какому символу соответствует полученный код и отображает его на экране. Таким образом, тексты и числа хранятся в памяти компьютера в двоичном коде, а программным способом преобразуются в изображения на экране.

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

8-я система счисления, как и двоичная, часто применяется в цифровой технике. Имеет основание 8 и использует для записи числа цифры от 0 до 7.

Пример восьмеричного числа: 254. Для перевода в 10-ю систему необходимо каждый разряд исходного числа умножить на 8n, где n — это номер разряда. Получается, что 2548 = 2*82 + 5*81 + 4*80 = 128+40+4 = 17210.

Шестнадцатеричная система счисления

Шестнадцатеричная система широко используется в современных компьютерах, например при помощи неё указывается цвет: #FFFFFF — белый цвет. Рассматриваемая система имеет основание 16 и использует для записи числа: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. C, D, E, F, где буквы равны 10, 11, 12, 13, 14, 15 соответственно.

В качестве примера возьмем число 4F516. Для перевода в восьмеричную систему — сначала преобразуем шестнадцатеричное число в двоичное, а затем, разбив на группы по 3 разряда, в восьмеричное. Чтобы преобразовать число в 2-е необходимо каждую цифру представить в виде 4-х разрядного двоичного числа. 4F516 = (100 1111 101)2. Но в 1 и 3 группах не достает разряда, поэтому заполним каждый ведущими нулями: 0100 1111 0101. Теперь необходимо разделить полученное число на группы по 3 цифры справа налево: 0100 1111 0101 = 010 011 110 101. Переведем каждую двоичную группу в восьмеричную систему, умножив каждый разряд на 2n, где n — номер разряда: (0*22+1*21+0*20) (0*22+1*21+1*20) (1*22+1*21+0*20) (1*22+0*21+1*20) = 23658.

Помимо рассмотренных позиционных систем счисления, существуют и другие, например:
1) Троичная
2) Четверичная
3) Двенадцатеричная

Позиционные системы подразделяются на однородные и смешанные.

Однородные позиционные системы счисления

Определение, данное в начале статьи, достаточно полно описывает однородные системы, поэтому уточнение — излишне.

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

К уже приведенному определению можно добавить теорему: “если P=Qn (P,Q,n – целые положительные числа, при этом P и Q — основания), то запись любого числа в смешанной (P-Q)-ой системе счисления тождественно совпадает с записью этого же числа в системе счисления с основанием Q.”

Опираясь на теорему, можно сформулировать правила перевода из P-й в Q-ю системы и наоборот:

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

Яркий пример — перевод из двоичной системы счисления в восьмеричную. Возьмем двоичное число 100111102, для перевода в восьмеричное — разобьем его справа налево на группы по 3 цифры: 010 011 110, теперь умножим каждый разряд на 2n, где n — номер разряда, 010 011 110 = (0*22+1*21+0*20) (0*22+1*21+1*20) (1*22+1*21+0*20) = 2368. Получается, что 100111102 = 2368. Для однозначности изображения двоично-восьмеричного числа его разбивают на тройки: 2368 = (10 011 110)2-8.

Смешанными системами счисления также являются, например:
1) Факториальная
2) Фибоначчиева

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

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

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

Имеется число a1a2a3 в системе счисления с основанием b. Для перевода в 10-ю систему необходимо каждый разряд числа умножить на bn, где n — номер разряда. Таким образом, (a1a2a3)b = (a1*b2 + a2*b1 + a3*b0)10.

Пример: 1012 = 1*22 + 0*21 + 1*20 = 4+0+1 = 510

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

Целая часть:

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

Дробная часть:

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

Пример: переведем 1510 в восьмеричную:
158 = 1, остаток 7
18 = 0, остаток 1

Записав все остатки снизу вверх, получаем итоговое число 17. Следовательно, 1510 = 178.

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

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

В качестве примера возьмем число 10012: 10012 = 001 001 = (0*22 + 0*21 + 1*20) (0*22 + 0*21 + 1*20) = (0+0+1) (0+0+1) = 118

Для перевода в шестнадцатеричную — разбиваем двоичное число на группы по 4 цифры справа налево, затем — аналогично преобразованию из 2-й в 8-ю.

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

Перевод из восьмеричной в двоичную — преобразуем каждый разряд восьмеричного числа в двоичное 3-х разрядное число делением на 2 (более подробно о делении см. выше пункт “Преобразование из десятичной системы счисления в другие”), недостающие крайние разряды заполним ведущими нулями.

Для примера рассмотрим число 458: 45 = (100) (101) = 1001012

Перевод из 16-ой в 2-ю — преобразуем каждый разряд шестнадцатеричного числа в двоичное 4-х разрядное число делением на 2, недостающие крайние разряды заполняем ведущими нулями.

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

Преобразование осуществляется также, как и для целых частей, за исключением того, что цифры числа умножаются на основание в степени “-n”, где n начинается от 1.

Пример: 101,0112 = (1*22 + 0*21 + 1*20), (0*2-1 + 1*2-2 + 1*2-3) = (5), (0 + 0,25 + 0,125) = 5,37510

Преобразование дробной части двоичной системы в 8- и 16-ую

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

Пример: 1001,012 = 001 001, 010 = (0*22 + 0*21 + 1*20) (0*22 + 0*21 + 1*20), (0*22 + 1*21 + 0*20) = (0+0+1) (0+0+1), (0+2+0) = 11,28

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

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

Для примера переведем 10,62510 в двоичную систему:
0,625*2 = 1,25
0,250*2 = 0,5
0,5*2 = 1,0
Записав все остатки сверху вниз, получаем 10,62510 = (1010), (101) = 1010,1012

Шестнадцатиричная система счисления


Шестнадцатиричная система счисления

4.1

Средняя оценка: 4.1

Всего получено оценок: 202.

4.1

Средняя оценка: 4.1

Всего получено оценок: 202.

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

Что такое шестнадцатеричная система счисления

Шестнадцатеричная система счисления использует для записи числовых значений шестнадцать символов: арабские цифры от 0 до 9 и буквы латинского алфавита A, B, C, D, E, F. Соответственно, основанием такой системы счисления будет число 16.

При использовании шестнадцатеричных чисел следует помнить, что в числовом ряду шестнадцатеричных чисел после числа 9 идет А, а после F следует двузначное число 10.

Перевод 16 –10

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

Например, 1F4 = 1 * (16^2) + 15 * (16^1) + 4 * (16^0) = 256 + 240 + 4 = 500

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

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

Например: 500 / 16 = 31 (остаток 4)

31 / 16 = 1 (остаток 15 заменяем на букву F)

Таким образом, получено шестнадцатеричное число 1F4.

Перевод 16 – 2

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

Рис. 1. Таблица соответствия шестнадцатеричных чисел и их двоичных и десятичных эквивалентов

Например, 1F4 = (0001)(1111)(0100).

Арифметические действия в шестнадцатеричной системе счисления

Сложение и вычитание

Операции сложения и вычитания удобно выполнять с использованием таблицы сложения шестнадцатеричных чисел. И сложение или вычитание выполняются поразрядно, начиная с младшего разряда.

Рис. 2. Таблица сложения шестнадцатеричных чисел

Если при сложении двух чисел одинакового разряда получается двузначное число, то значение его старшего разряда (единицу) добавляют в старший разряд.

Например, 1F + 2D = 4C.

Сначала складываются значения младших разрядов F + D. По таблице получается двузначное число1С, единицу старшего разряда которого переносим и добавляем к сумме следующих по величине разрядов суммируемых шестнадцатеричных чисел.

Сумма цифр старших разрядов 1 + 2 равна 3 и еще прибавляется переносимая единица, то есть получается в сумме 4.

Таким образом, получается число 4C.

При выполнении вычитания часто возникает ситуация, когда необходимо выполнять заем из старшего разряда, если уменьшаемое конкретного разряда меньше вычитаемого. Тогда занимается единица из старшего разряда. Значение разности смотрится по таблице.

Например, 2D – 1F = E.

Сначала находят разность цифр младших разрядов, то есть D – F (в десятичном представлении 13-15). Уменьшаемое меньше вычитаемого, поэтому происходит заем единицы из старшего разряда исходного числа. То есть вычисляют разность 1D – F = E.

После выполненных манипуляций с младшими разрядами переходят к следующим по величине. В текущем примере следует вычислить 2 – 1. Но ранее произошел заем единицы и в старшем разряде уменьшаемого остается не 2, а 1. Поэтому вычисляется разность 1 – 1 = 0.

Умножение и деление

Умножать и делить числа в шестнадцатеричной системе следует также поразрядно. При вычислениях удобно пользоваться таблицей умножения шестнадцатеричной системы счисления.

Рис. 3. Таблица умножения шестнадцатеричных чисел

Например, 1С * 2 = 38. Используя распределительный закон умножения: (10 + С) * 2 = 10 * 2 + С * 2 = 20 + 18 = 38

Операция деления также выполняется столбиком с использованием таблицы умножения: 1С / 2 = Е. В строке таблицы для числа 2, то есть делителя, находится значение 1С (делимое) и пересечение этой строки и столбца, где расположено 1С даст значение частного от деления числа, то есть Е.

Заключение

Что мы узнали?

В шестнадцатеричной системе счисления для записи числовых значений используются цифры от 0 до 9 и латинские буквы от A до F. Прямой перевод шестнадцатеричного числа в десятичную систему выполняется с использованием развернутой формы записи числа. Обратный перевод выполняется путем деления и записи остатков. Каждую шестнадцатеричную цифру в числе можно заменить тетрадой двоичных чисел. Арифметические операции в шестнадцатеричной системе удобнее всего выполнять поразрядно с использованием таблиц сложения и умножения шестнадцатеричных чисел

Тест по теме

Доска почёта

Доска почёта

Чтобы попасть сюда — пройдите тест.

  • Роман Журавлев

    10/10

  • Татьяна Лазарева

    10/10

  • Коля Приходько

    8/10

  • Андрей Букин

    10/10

  • Игорь Карабута

    1/10

  • Александра Цалко

    8/10

Оценка статьи

4.1

Средняя оценка: 4.1

Всего получено оценок: 202.


А какая ваша оценка?

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

Перед тем как перейти к алгоритму перевода, вспомним алфавит шестнадцатеричной и десятичной системы счисления:

Основание Название Алфавит
10 Десятичная 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
16 Шестнадцатеричная 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

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

Алгоритм перевода целых десятичных чисел в шестнадцатеричную систему счисления

  1. Последовательно выполнять деление десятичного числа и получаемых целых частных на 16, до тех пор, пока частное не станет равным 0.
  2. Для получения ответа в шестнадцатеричном коде, необходимо записать, полученные, в результате деления остатки, в обратном порядке.

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

Для наглядности произведем деление «столбиком». Решение будет выглядеть следующим образом:

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

Ответ: 1234910=303D16

Алгоритм перевода десятичной дроби в шестнадцатеричную систему

  1. Последовательно выполнять умножение исходной дроби на 16, до тех пор, пока, дробная часть не станет равна 0 или пока не будет достигнута необходимая точность вычисления.
  2. Полученная дробь в шестнадцатеричной системе будет равна прямой последовательности целых частей произведений.

Пример 2: перевести число 0,7715 в шестнадцатеричную систему.

Решение будет выглядеть следующим образом:

0.7715 ∙ 16 = 12.344 (C)
0.344 ∙ 16 = 5.504 (5)
0.504 ∙ 16 = 8.064 (8)
0.064 ∙ 16 = 1.024 (1)
0.024 ∙ 16 = 0.384 (0)
0.384 ∙ 16 = 6.144 (6)
0.144 ∙ 16 = 2.304 (2)
0.304 ∙ 16 = 4.864 (4)
0.864 ∙ 16 = 13.824 (D)
0.824 ∙ 16 = 13.184 (D)
0.184 ∙ 16 = 2.944 (2)

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

Ответ: 0.771510=0.C5810624DD216

Перевод дробного десятичного числа в шестнадцатеричную систему

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

Пример 3: перевести число 10415,136 из десятичной системы в шестнадцатеричную

Для решения примера потребуется отдельно перевести 10415 и отдельно 0,136 из десятичной системы в шестнадцатеричную, используя вышеизложенные алгоритмы. Таким образом переведя 10415, получим:

1041510=28AF16

Перевод десятичной дроби 0,136 выглядит так:

0.136 ∙ 16 = 2.176 (2)
0.176 ∙ 16 = 2.816 (2)
0.816 ∙ 16 = 13.056 (D)
0.056 ∙ 16 = 0.896 (0)
0.896 ∙ 16 = 14.336 (E)
0.336 ∙ 16 = 5.376 (5)
0.376 ∙ 16 = 6.016 (6)
0.016 ∙ 16 = 0.256 (0)
0.256 ∙ 16 = 4.096 (4)
0.096 ∙ 16 = 1.536 (1)
0.536 ∙ 16 = 8.576 (8)

0.13610=0.22D0E56041816

Теперь осталось соединить результаты перевода. Таким образом: 10415.13610=28AF.22D0E56041816

Таблица соответствия десятичных и шестнадцатеричных чисел

Десятичная система Шестнадцатеричная система
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

Оцените материал:

Загрузка…

Понравилась статья? Поделить с друзьями:
  • Как исправить ошибку в приложении гугл плей маркет
  • Как найти бетту если известно альфа
  • Как можно найти дополнительный доход
  • Как найти реальный сайт для знакомств
  • Как составить схему строения мицеллы