Site Loader

Содержание

Шестнадцатиричная система исчисления — это… Что такое Шестнадцатиричная система исчисления?


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

Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.

Применение

Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, БЭСМ-6) использовали восьмеричную систему.

В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями).

Способы записи

В математике

В математике систему счисления принято писать в подстрочном знаке. Например, десятичное число 1443 можно записать как 144310 или как 5A316.

В языках программирования

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

  • В Ада и
  • В Си и языках схожего синтаксиса, например, в
  • В некоторых ассемблерах используют букву «h», которую ставят после числа. Например, «5A3h». При этом, если число начинается не с десятичной цифры, впереди ставится «0» (ноль): «0FFh» (25510)
  • Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бэйсика используют префикс «$». Например, «$5A3».
  • Некоторые иные платформы, например ZX Spectrum в своих ассемблерах (MASM, TASM, ALASM, GENS и т.д.) использовали запись #5A3, обычно выровненную до одного или двух байт: #05A3.
  • Другие версии Бэйсика используют для указания шестнадцатеричных цифр сочетание «&h». Например, «&h5A3».
  • В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как \xCC, где CC — шестнадцатеричный код символа.

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

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

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

Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:

5A316=5·162+10·161+3·160
=5·256+10·16+3·1=1280+160+3=144310

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

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

Например:

101101000112=0101 1010 0011=5A316

Таблица перевода чисел

0hex = 0dec = 0oct 0 0 0 0
1hex
= 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct
1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec =
17oct
1 1 1 1

См. также

Ссылки

Wikimedia Foundation. 2010.

  • Шестнадцатиричные числа
  • Шестилапый

Шестнадцатиричная система счисления — это… Что такое Шестнадцатиричная система счисления?


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

Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.

Применение

Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, БЭСМ-6) использовали восьмеричную систему.

В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями).

Способы записи

В математике

В математике систему счисления принято писать в подстрочном знаке. Например, десятичное число 1443 можно записать как 1443

10 или как 5A316.

В языках программирования

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

  • В Ада и
  • В Си и языках схожего синтаксиса, например, в
  • В некоторых ассемблерах используют букву «h», которую ставят после числа. Например, «5A3h». При этом, если число начинается не с десятичной цифры, впереди ставится «0» (ноль): «0FFh» (25510)
  • Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бэйсика используют префикс «$». Например, «$5A3».
  • Некоторые иные платформы, например ZX Spectrum в своих ассемблерах (MASM, TASM, ALASM, GENS и т.д.) использовали запись #5A3, обычно выровненную до одного или двух байт: #05A3.
  • Другие версии Бэйсика используют для указания шестнадцатеричных цифр сочетание «&h». Например, «&h5A3».
  • В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как \xCC, где CC — шестнадцатеричный код символа.

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

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

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

Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:

5A316=5·162+10·161+3·160
=5·256+10·16+3·1=1280+160+3=1443
10

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

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

Например:

101101000112=0101 1010 0011=5A316

Таблица перевода чисел

0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec
= 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex
=
7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

См. также

Ссылки

Wikimedia Foundation. 2010.

  • Шестиконечная звезда
  • Шестнадцатеричные числа

Смотреть что такое «Шестнадцатиричная система счисления» в других словарях:

  • ШЕСТНАДЦАТИРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ — (hexadecimal notation) Числовая система, использующая десять цифр от 0 до 9 и буквы от A до F для выражения чисел. Например, десятичное число 26 записывается в этой системе как 1А. Числа шестидесятеричной системы широко используются в… …   Словарь бизнес-терминов

  • Шестнадцатиричная система исчисления — Шестнадцатеричная система счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для… …   Википедия

  • Система счисления — совокупность символов и правил написания чисел (см., например, Римские цифры). В практике людей наибольшее распространение получила десятичная система счисления. В вычислительной (компьютерной) технике применяются также двоичная, восьмиричная и… …   Начала современного естествознания

  • ВОСЬМЕРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ — (octal notation) Система чисел, использующая для выражения чисел восемь цифр от 0 до 7. Так, десятичное число 26 в восьмеричной системе будет записано как 32. Не будучи столь популярной, как шестнадцатиричная система счисления (hexadecimal… …   Словарь бизнес-терминов

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

Привычная для человека система счисления – десятичная. В ее основу входят десять цифр от 0 до 9. Шестнадцатеричную систему отличает наличие в ней первых шести букв латинского алфавита для записи чисел помимо основных цифр. То есть после цифры 9 следует символ «A», который соответствует числу 10 для десятичной системы. Соответственно, F в шестнадцатеричной системе – это 16 в десятичной. Использование шестнадцати символов в системе – неслучайный выбор.

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

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

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

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

Также одно из применений шестнадцатеричных символов – описание цветовых схем, то есть три компонента R, G, B описываются соответствующим данной системе способом. Данный подход к записи получил название шестнадцатеричный цвет

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

Двоичная восьмеричная шестнадцатеричная системы счисления


 

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

Для представления чисел в микропроцессоре используется двоичная система счисления.
При этом любой цифровой сигнал может иметь два устойчивых состояния: «высокий уровень» и «низкий уровень». В двоичной системе счисления для изображения любого числа используются две цифры, соответственно: 0 и 1. Произвольное число x=anan-1..a1a0,a-1a-2…a-m запишется в двоичной системе счисления как

x = an·2n+an-1·2n-1+…+a1·21+a0·20+a-1·2-1+a-2·2-2+…+a-m·2-m

где ai — двоичные цифры (0 или 1).

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

В восьмеричной системе счисления базисными цифрами являются цифры от 0 до 7. 8 единиц младшего разряда объединяются в единицу старшего.

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

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

1010 = A16      1210 = C16      1410 = E16
1110 = B16      1310 = D16      1510 = F16.

Например, число 17510 в шестнадцатеричной системе счисления запишется как AF16. Действительно,

10·161+15·160=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,012 в восьмеричную систему счисления.

Объединяем двоичные цифры в триады справа налево. Получаем

001 101 110,0102 = 156,28.

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

156,28 = 001 101 110,0102.

 
Четыре разряда шестнадцатеричной системы счисления реализуют все возможные комбинации шестнадцатеричных цифр в двоичной системе счисления: от 0 (0000) до F(1111). Чтобы преобразовать двоичное число в шестнадцатеричное, нужно объединить двоичные цифры в группы по 4 разряда (тетрады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от нее тоже нужно добавить незначащие нули до заполнения всех тетрад. Затем каждая тетрада заменяется шестнадцатеричной цифрой.

Пример: Преобразовать число 1101110,112 в шестнадцатеричную систему счисления.

Объединяем двоичные цифры в тетрады справа налево. Получаем

0110 1110,11002 = 6E,C16.

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

6E,C16 = 0110 1110,11002.


Назад: Представление данных и архитектура ЭВМ

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

В повседневной жизни мы используем счёт, основанный на десятичной системе счисления. Что это значит? Это значит, что все числа, которыми мы пользуемся, отображаются с помощью всего лишь 10 символов или цифр. Они знакомы нам с детства: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Например, запись числа «девятьсот шестьдесят восемь» состоит из символов, входящих в указанный набор: 968. Так можно отобразить любое число.

Но есть и другие системы счисления. Например, двоичная. Здесь для записи любого числа используется набор всего из двух символов-цифр: 0 и 1. Чтобы записать в этой системе десятичное число 13, понадобятся четыре цифры: 1101. Указанный фокус можно проделать с любым десятичным числом, записав его в виде последовательности символов, входящих в определённый набор. Этот набор является своего рода алфавитом, из букв которого строятся слова-числа.

Свод правил, по которым можно производить те или иные действия с числами, записанными с использованием символов из такого алфавита (сложение, вычитание, умножение, деление и т. д. ), и называют системой счисления (с. с.). А количество всех символов, входящих в набор-алфавит, называют основанием с. с. При записи числа в такой системе место, на котором находится каждая цифра в нём, будет её разрядом. Разряды же нумеруются справа налево от 0 и до бесконечности.

Какие бывают системы счисления

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

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

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

Кроме упомянутых, есть и другие системы, не относящиеся к позиционным. Это смешанные и непозиционные с. с., которые мы здесь рассматривать не будем.

Способ перевода в десятичную дробь

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

Итак, как уже было упомянуто, любое число в позиционной системе с основанием N можно представить последовательностью символов из набора, состоящего из N цифр и букв. В шестнадцатеричной системе таким набором будут цифры от 0 до 9 и латинские буквы A, B, C, D, E, F, ​итого — 16 символов.

Чтобы сделать перевод из десятичной в шестнадцатеричную систему, вовсе не понадобится калькулятор, если вы хотите научиться делать это сами, вручную. Итак, запаситесь терпением и… вперёд!

Возьмём любое число X, записанное в десятичной с. с., целая часть которого [X] равна P, а дробная часть {X} равна Q. Если X<0, то знак «минус» вначале нужно отбросить, а в конце снова приписать, во избежание путаницы. Далее, следуя алгоритмам 1 и 2, вы получите из Х шестнадцатеричный вид.

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

Алгоритм 1

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

  1. Разделите P на 16. У вас получатся: частное P0, как результат деления, и остаток от деления R0.
  2. Если P0≠0, то разделите P0 на 16. У вас получится частное P1 и остаток R1. Если P0=0, то переходите к пункту 4.
  3. Продолжайте производить деление, как в пунктах 1 и 2. У вас будут получаться пары чисел (Pi, Ri), где i=0, 1, 2,…, k.
  4. Если частное от деления станет равным нулю, то процесс деления прекращается. Все полученные остатки Ri запишите в последовательности, начиная с последнего. У вас получится ряд Rk,…, R2, R1, R0. Если среди остатков Ri есть числа, большие 9, то для их обозначения используйте буквы латинского алфавита: 10 — А, 11 — В, 12 — С, 13 — D, 14 — E, 15 — F. Полученная последовательность Rk…R2 R1 R0 будет шестнадцатеричной формой записи десятичного числа Р, что записывается так: Р (10)=Rk…R2 R1 R0 (16).

Алгоритм 2

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

  1. Умножьте Q<1 на 16. В полученном результате выделите целую S1 и дробную Q1 части.
  2. Если Q1≠0, то умножьте Q1 на 16. В полученном результате снова выделите целую S2 и дробную Q2 части. Если Q1=0, то перейдите к пункту 4.
  3. Продолжайте производить умножение, как в пунктах 1 и 2. У вас получатся пары чисел (Qj, Sj), где j=1, 2, 3,…, n.
  4. Если дробная часть результата умножения станет равной нулю, то процесс умножения прекращается. Все полученные числа Sj запишите в последовательности, начиная с первого. У вас получится ряд S1, S2, S3,…, Sn. Если среди Sj есть числа, большие 9, то для их обозначения используйте латинские буквы: 10 — А, 11 — В, 12 — С, 13 — D, 14 — E, 15 — F. Полученная последовательность S1 S2 S3… Sn будет 16-ичной формой записи 10-ичного числа Q, что записывается так: Q (10)=S1 S2 S3… Sn (16).

Перевод в десятичную дробь

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

Согласно одной алгебраической теореме, любое число Y, записанное в N-ичной с. с., можно представить в виде:

Y (N)=Rk•N^k+…Ri•N^i+…+R3•N 3 +R2•N 2 +R1•N 1 +R0•N 0 +S1•N^(-1)+S2•N^(-2)+S3•N^(-3)+…+Sj•N^(-j)+…+Sn•N^(-n) =Rk…Ri…R2 R1 R0, S1 S2 S3… Sj… Sn=X (10).

В этом выражении коэффициенты N^i (i=0…k) и N^(-j) (j=1…n) называются весовыми коэффициентами разрядов, Riи Sj — цифрами N-ичного числа, i — номером разряда в целой части R, (-j) — номером разряда в дробной части S N-ичного числа Y (R=[Y], S={Y}).

Справа в этом выражении стоит результат сложения всех весовых коэффициентов, умноженных на цифры соответствующих разрядов N-ричного числа Y, который представлен в виде 10-ичного числа Х.

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

Алгоритм 3

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

  1. Пусть задано 16-ричное число Y (16), имеющее в целой части k+1 цифр, а в дробной — n цифр. Номера разрядов в целой части принимают значения от 0 до k. Умножьте каждую его цифру, начиная с первой перед запятой, на 16 в степени, равной номеру разряда этой цифры. Полученные произведения сложите. Результатом будет целая часть Y в десятичном виде — P=[X].
  2. Умножьте теперь каждую цифру числа Y (16), начиная с первой цифры, стоящей после запятой, на 16 в степени, равной отрицательному номеру разряда этой цифры. Номера разрядов в дробной части идут от -1 до -n. Полученные произведения сложите. Результатом будет дробная часть Y в десятичном виде — Q={X}.
  3. Сложите целую и дробную части Y в десятичном виде. Вы получите результат — десятичное число X (10)=Y (16).

Как переводить в десятичную дробь

Примеры

1. Перевести 1237 (10) в систему с основанием 16.

Решение. Последовательно деля 1237 на 16, мы получим следующие остатки: 5, 13 и 4 (см. алгоритм 1). Чтобы записать 1237 (10) в 16-ричной форме, запишем указанные остатки в обратном порядке, заменив 13 на букву D. Получим: 1237 (10)=4D5 (16). Чтобы убедиться в правильности перевода, произведём проверку (см. алгоритм 3): 4D5 (16)=4•16²+13•16¹+5=1024+208+5=1237 (10).

2. Перевести 0,07080078125 (10) в 16-ричный вид.

Решение. Последовательно умножая 0,07080078125 на 16, отбрасывая целые части получаемых произведений, получим следующий ряд: 1, 2, 2 (см. алгоритм 2). Чтобы записать 0,07080078125 (10) в шестнвдцатиричной форме, запишем указанные цифры в прямом порядке. Получим: 0,07080078125 (10)=0,122 (16). Чтобы убедиться в правильности перевода, сделаем проверку (см. алгоритм 3): 0,122 (16)=1•(1/16¹)+2•(1/16²)+2•(1/16³)=0,0625+0,0078125+0,00048828125= 0,07080078125 (10).

Видео

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

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

Главная / Ассемблер / Для чайников / Системы счисления /

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


0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Соответственно, основание шестнадцатеричной системы равно 16.

Шестнадцатеричное число является компактным и лёгким для чтения. Его легко преобразовать в двоичное и наоборот. Каждый разряд шестнадцатеричного числа – это тетрада. Каждую тетраду легко преобразовать в двоичное число и наоборот (см. таблицу 2.3).

Таблица 2.3. Преобразование чисел.

Десятичное Двоичное Шестнадцатеричное
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

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


11 – десятичное число 11
11b – двоичное число, которое эквивалентно десятичному числу 3
11h – шестнадцатеричное число, которое эквивалентно десятичному числу 17
В исходных кодах программ на ассемблере, если шестнадцатеричное число начинается с буквы, то перед ним нужно поставить ноль, иначе ассемблер подумает, что это не число, а имя переменной. Например, число FF в исходном коде на ассемблере должно быть записано как 0FFh.

Обсуждение:Шестнадцатеричная система счисления — Википедия

Материал из Википедии — свободной энциклопедии

Как правильно, шестнадцатЕричный, или шестнадцатИричный?

См. gramota.ru Maxal 22:56, 7 февраля 2007 (UTC)
Этот сайт не всегда показатель настоящей грамотности. —Dryukon 07:10, 15 марта 2012 (UTC)
по аналогии с восьмЕричной (проверочное слово — восьмЁрка: двойка — двоичный, десятка — десятичный, восьмёрка — восьмеричный). —М. Ю. (yms) 08:21, 8 июля 2009 (UTC)
Произошло копирование ошибки. В качестве образца надо брать не именительный падеж «восьмёрка», а родительный падеж «восьми». В той статье ошибка тоже будет исправлена —Dryukon 07:10, 15 марта 2012 (UTC)
хотя, скорее всего, «двойки» и «восьмёрки» здесь ни при чём, дело в суффиксе «-ерич-», ср. также «восьмеро», «десятеро» и т. д. —М. Ю. (yms) 08:41, 8 июля 2009 (UTC)
Здесь используются два суффикса -ир- и -ич-. В случае «десятИРИЧной системы» произошло редуцирование —Dryukon 07:10, 15 марта 2012 (UTC)
К сожалению, моё невысокое мнение о грамотности в Википедии упало ещё ниже. Делайте, как угодно, мне переубеждать кого-то просто некогда. —Dryukon 09:17, 15 марта 2012 (UTC)

Моторола тоже использует префикс 0x в симах.

101101000112=0101 1010 0011=BA316 — тут в начале вроде 1 должна быть (B) 83.149.52.39 05:09, 7 мая 2009 (UTC)

а где раздел «перевод из десятичной системы …»

вместо 16-чных цифр на калькуляторах отображаются странные символы!![править код]

На калькуляторе только C и E пишутся правильно!! Вместо A — какой-то минус; вместо B — буква L; вместо D — буква Г; а вместо F — вообще пробел. С чем это может быть связано!? 91.79.36.96 19:38, 1 ноября 2011 (UTC)

Нет возможности всё нарисовать. Без минуса и пробела никак нельзя обойтись, а буквы B и D просто невозможно отобразить на калькуляторном 7-сегментном дисплее. — Monedula 22:37, 1 ноября 2011 (UTC)
Вообще-то «B» и «D» можно, но они выглядели бы как «b» и «d». Но почему «A» — минус, а «F» — пробел‽ И EDD0D16 (97409310) превращается в «ошибку» (ЕГГОГ). 91.79.19.142 20:25, 10 ноября 2011 (UTC)
В калькуляторе 1 цифра на дисплее кодируется 4 битами, то есть всего 16 комбинаций на цифру. 10 заняты десятичными цифрами, ещё 2 заняты под минус и пробел. «Г» нужно для отображения слова ЕГГОГ. Остаётся 3. «C» и «E» отображаются как надо. «B» не сделали как «b», поскольку «b» можно легко спутать с «6» (собственно, на некоторых калькуляторах «6» как раз и изображается как «b»). — Monedula 00:12, 11 ноября 2011 (UTC)
Эт’чё ж получается, 10100=9740932, а 102009740932=253197?!! 91.79.7.34 11:44, 18 декабря 2011 (UTC)
Yes. And 10500=4294967295 (hex=FFFFFFFF, on calculator it’s just blank screen). 91.79.20.80 20:22, 22 февраля 2012 (UTC)

В электронных калькуляторах? Б3-34?[править код]

О чём вообще идёт речь в разделе Шестнадцатеричная система счисления#В электронных калькуляторах? Если о калькуляторах семейства Б3-34, то ЕМНИП в них не было расчетов в шестнадцатеричных числах. Если об отображении шестнадцатеричных цифр A, B, C, D, E и F на семисегментном индикаторе, то текст в разделе не соответствует его названию. Поясните, пожалуйста. С уважением, ←A.M.Vachin 11:07, 8 мая 2013 (UTC)

В режиме программирования команды отображались их шестнадцатеричными кодами. Там как раз и использовалась эта система: A=−, B=L, C=C, D=Г, E=E, F=пробел. — Monedula 11:20, 8 мая 2013 (UTC)
Любопытно. И у вас есть авторитетный источник? Где это можно прочитать?
Жаль, родную инструкцию к моему МК-54 украли.
Например, в известной книге Дьяконова В. П. Справочник по расчетам на микрокалькуляторах на стр. 16 приведена только таблица команд с кодами, об их шестнадцатеричном происхождении ничего не сказано. Хотя, конечно, если присмотреться, оно на то и похоже… но это уже ОРИСС.
Так что, дайте почитать первоисточник! Мне это интересно ещё и как фанату, прошедшему с МК-54 весь курс МАИ. С уважением, ←A.M.Vachin 08:46, 14 мая 2013 (UTC)
Вряд ли в инструкциях об этом писали. В калькуляторах программная память отделена от числовой, так что пользователю вообще не нужно было знать, как кодируются команды. Но ограниченная возможность вводить шестнадцатеричные цифры всё же была, о чём свидетельствуют буквы a b c d под нижними кнопками. — Monedula 11:19, 14 мая 2013 (UTC)
У вашей информации есть источник, уважаемый коллега? Откуда-то ведь вы взяли эти соответствия, которые, похоже, близки к действительности?
Уважаемый Monedula, меня этот вопрос теперь ещё больше заинтриговал, потому что по вашей последней фразе мне показалось, что вы не работали на калькуляторах этого семейства. Вводить шестнадцатеричные цифры на Б3-34 нельзя, они считают в десятеричной системе счисления. Возможно, адреса и коды команд они и отображают в шестнадцатеричной системе, но где ваш АИ?
ЕМНИП, буквы a b c d под нижними кнопками предназначены для кодирования операций с регистрами памяти A, B, C и D: непосредственной или программной записи значений из регистра Х в них и обратно, для кодирования косвенных операций адресации с использованием этих регистров и т.п. Всего у Б3-34 14 регистров: десять нумеровались от 0 до 9, плюс A (10-й), B (11-й), C (12-й) и D (13-й). Символы регистров действительно соответствуют шестнадцатеричной нумерации. А у МК-52/61 ещё был пятнадцатый регистр E (14-й). И действительно, если проследить отображение на индикаторе кодов команд, связанных с этими регистрами, хотя бы по таблице в той же книге Дьяконова, то ваша таблица соответствия верна. Но это всё топорный реинжиниринг. Вы тоже так рассуждали? С уважением, ←A.M.Vachin 12:48, 14 мая 2013 (UTC)
Тогда зададимся другим вопросом: как в калькуляторе кодировались обычные десятичные цифры? Можно предположить, что это делалось самым прямолинейным способом: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001. Вообще говоря, это совсем не обязательно. Можно использовать и любое другое соответствие. Но зачем??? — Monedula 14:11, 14 мая 2013 (UTC)
Дело не в этом, уважаемый коллега. Ваша таблица соответствия символов на индикаторе Б3-34 шестнадцатеричным цифрам правильная, но вы упорно не говорите, откуда вы её взяли. Даже если забыли, или сами раскопали, разве это нельзя сказать? Жаль, у вас нет источника. А я хотел почитать. Ладно, поищу сам. С уважением, ←A.M.Vachin 14:30, 14 мая 2013 (UTC)
Источником тут может быть разве что конструкторская документация. Но где ж её взять? — Monedula 14:42, 14 мая 2013 (UTC)
А я нашёл! В статье Б3-34 ссылка на Программируемые микрокалькуляторы. Устройство и пользование. Под ред. Я. К. Трохименко. М. Радио и связь, 1990 г., смотрите стр. 60-61 и 91-92. Там, кстати, и про ЕГГОГ объяснено. Книга интереснейшая, подробная, видимо от разработчиков. На том же сайте нашёл ещё МК-61. Руководство по эксплуатации (pdf), смотрите на стр. 84 таблица 5. ←A.M.Vachin 14:40, 15 мая 2013 (UTC)
Очень хорошо. Кстати, там были и логические операции, так что всё-таки можно было в шестнадцатеричной системе кое-что делать. // Жаль только, что не реализовали возможность зажигать каждый сегмент индикатора по отдельности — можно было бы делать интересные игрушки. — Monedula 18:32, 15 мая 2013 (UTC)

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *