16 ричной. Шестнадцатеричная система счисления

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

Позиционная система счисления — значение всех цифр зависит от позиции (разряда) данной цифры в числе.

Примеры , стандартная десятичная система счисления - это позиционная система. Допустим, дано число 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

Двоичная СС

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

    • Если вы вообще ничего не знаете о шестнадцатеричной системе, начните с изучения основных понятий .
  2. Возведите 16 в степень от 1 до 5 и запишите результаты. Разряд каждой цифры шестнадцатеричного числа является результатом возведения в степень числа 16, так же как разряд каждой цифры десятичного числа является результатом возведения в степень числа 10. Следующий список результатов возведения 16 в различные степени пригодится в процессе преобразования:

    • 16 5 = 1048576
    • 16 4 = 65536
    • 16 3 = 4096
    • 16 2 = 256
    • 16 1 = 16
    • Если конвертируемое десятичное число больше 1048576, возведите 16 в большую степень, а результат добавьте в список.
  3. В списке найдите наибольшее число, которое меньше данного десятичного числа. Запишите данное десятичное число, которое нужно преобразовать в шестнадцатеричное. Посмотрите на список, приведенный выше, и найдите наибольший результат (возведения 16 в степень), который меньше данного десятичного числа.

    • Например, нужно преобразовать десятичное число 495 в шестнадцатеричное. В списке выберите число 256.
  4. Разделите десятичное число на выбранный результат возведения 16 в степень. Работайте с целочисленным результатом деления – не обращайте внимания на цифры после десятичной запятой.

    • В нашем примере: 495 ÷ 256 = 1,93..., поэтому работайте с числом 1 (это целое частное от деления).
    • Полученный результат – это первая цифра шестнадцатеричного числа. В этом случае вы разделили данное десятичное число на 256, поэтому 1 находится в разряде 256-и.
  5. Найдите первый остаток. То есть остаток от деления данного десятичного числа на выбранное число (делитель). Остаток вычисляется так же, как при делении в столбик.

    • Умножьте полученное частное на делитель. В нашем примере: 1 х 256 = 256 (то есть 1 в шестнадцатеричном числе представляет 256 по основанию 10).
    • Результат умножения вычтите из данного десятичного числа: 495 - 256 = 239 .
  6. Разделите остаток на следующий (по списку) результат возведения 16 в степень. Посмотрите на список с результатами возведения 16 в разные степени. Найдите результат, который находится под результатом, который вы выбрали для предыдущего деления. Разделите остаток на выбранное число, чтобы найти следующую цифру шестнадцатеричного числа (если остаток меньше выбранного числа, следующая цифра равна 0).

    • 239 ÷ 16 = 14 . Не обращайте внимания на цифры после десятичной запятой.
    • Это вторая цифра шестнадцатеричного числа, которая находится в разряде 16-и. Любое число от 0 до 15 может быть представлено одной шестнадцатеричной цифрой. Полученные цифры будут преобразованы и расставлены в конце этого метода.
  7. Найдите второй остаток. Для этого умножьте полученное частное на делитель, а затем результат умножения вычтите из первого остатка. Второй остаток нужно преобразовать в цифру шестнадцатеричного числа.

    • 14 x 16 = 224.
    • 239 - 224 = 15, то есть остаток равен 15 .
  8. Повторяйте описанный процесс до тех пор, пока остаток не будет меньше 16. Если остаток равен числу от 0 до 15, он может быть выражен одной шестнадцатеричной цифрой. Эта цифра будет последней цифрой.

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

    • Цифры от 0 до 9 не меняются.
    • 10 = A; 11 = В; 12 = C; 13 = D; 14 = E; 15 = F
    • В нашем примере вы получили цифры (1)(14)(15). То есть шестнадцатеричное число запишется так: 1EF .
  10. Проверьте ответ. Это легко сделать, если знать основы шестнадцатеричной системы счисления. Преобразуйте каждую цифру шестнадцатеричного числа в цифру по основанию 10, а затем умножьте на результат возведения 16 в определенную степень, которая соответствует позиции цифры. В нашем примере:

    • 1EF → (1)(14)(15)
    • Работайте с цифрами справа налево. 15 находится в разряде единиц: 16 0 = 1, поэтому 15 х 1 = 15.
    • Следующая цифра находится в разряде 16-и: 16 1 = 16, поэтому 14 x 16 = 224.
    • Следующая цифра находится в разряде 256-и: 16 2 = 256, поэтому 1 x 256 = 256.
    • Сложите найденные результаты: 256 + 224 + 15 = 495, то есть получилось исходное десятичное число.

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

Но, как мы знаем, традиционных ("арабских") цифр всего десять. А требуется шестнадцать. Получается, что не хватает шести знаков.

Замечание
Таким образом, возникает чисто дизайнерская задача по теме "Знаки" - придумать недостающие символы для цифр
.

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

Замечание
Надеемся, что всем понятно, почему в этом случае нельзя использовать, например, числа "10", "11", "12" и т. д.? Потому что, если мы говорим о шестнадцатеричной системе счисления, то должно быть шестнадцать цифр , а не чисел
.

И десятичное число "10" стали обозначать латинской буквой "А" (точнее, "цифрой А"). Соответственно, дальше идут цифры "В", "С", "D", "Е" и "Р.

Поскольку мы намеревались построить шестнадцатеричную систему, то, начиная с нуля, здесь как раз и получится 16 цифр. Например, цифра "D" - это десятичное число "13", а цифра "F" - это десятичное число "15".

Когда к шестнадцатеричному числу "F" прибавляем единицу, то, поскольку эти цифры у нас кончились, в этом разряде ставим "О", а в следующий разряд переносим единицу, поэтому получается, что десятичное число "16" будет представлено в шестнадцатеричной системе счисления числом "10", т. е. получается "шестнадцатеричная десятка". Соединим десятичные и шестнадцатеричные числа в единую таблицу (табл. 4.5).

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

Десятичное число Шестнадцатеричное число Десятичное число Шестнадцатеричное число
0-9 0-9 29 1D
10 А 30
11 В 31 1F
12 С 32-41 20-29
13 D 42-47 2A-2F
14 Е 48-255 30-FF
15 F 256 100
16 10 512 200
17-25 11-19 1024 400
26 1280 500
27 4096 1000
28 1C

Шестнадцатеричная система используется, чтобы более компактно записывать двоичную информацию. В самом деле, "шестнадцатеричная тысяча", состоящая из четырех разрядов, в двоичном виде занимает тринадцать разрядов (1000 16 = 1000000000000 2).

При обсуждении систем счисления неоднократно фигурировали "десятки", "сотни" и "тысячи", поэтому необходимо обратить внимание на так называемые "круглые" числа.

Результат уже получен!

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

Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:

Тогда число 6372 можно представить в следующем виде:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.

Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:

Тогда число 1287.923 можно представить в виде:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .

В общем случае формулу можно представить в следующем виде:

Ц n ·s n +Ц n-1 ·s n-1 +...+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k

где Ц n -целое число в позиции n , Д -k - дробное число в позиции (-k), s - система счисления.

Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.

Таблица 1
Система счисления
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

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

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

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

С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.

Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:

1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125

Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:

Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:

Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.

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

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

Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.

Пример 4 . Переведем число 159 из десятичной СС в двоичную СС:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:

159 10 =10011111 2 .

Пример 5 . Переведем число 615 из десятичной СС в восьмеричную СС.

615 8
608 76 8
7 72 9 8
4 8 1
1

При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:

615 10 =1147 8 .

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

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.

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

Рассмотрим вышеизложенное на примерах.

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

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .

Следовательно можно записать:

0.214 10 =0.0011011 2 .

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

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:

0.125 10 =0.001 2 .

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

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:

0.214 10 =0.36C8B4 16 .

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

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Получили:

0.512 10 =0.406111 8 .

Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:

159.125 10 =10011111.001 2 .

Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.

Всем, кто общается с компьютером или другой цифровой техникой, приходилось встречать загадочные записи типа 10FEF, которые кажутся непосвященным каким-то шифром. Что скрывается за этими символами? Оказывается, это просто цифры. Те, которые использует шестнадцатиричная

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

Каждый школьник знает или хотя бы где-то слышал, что все цифры, которые мы обычно используем, образуют Это название она носит просто потому, что различных символов в ней всего десять (от 0 до 9). Любое число в нашей привычной системе может быть записано с их помощью. Однако, оказывается, использовать ее удобно бывает далеко не всегда. Например, при обмене информацией между цифровыми устройствами проще всего применять систему счисления, в которой есть только две цифры: «0» - нет сигнала - или «1» - есть сигнал (напряжение или что-то еще). Она называется двоичной. Однако, чтобы описать процессы внутри таких устройств с ее помощью, придется выполнять слишком длинные и трудные для понимания записи. Поэтому была придумана шестнадцатиричная система счисления.

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

Почему же для цифровых устройств используется именно система, которая содержит шестнадцать разных символов? Как известно, информация в компьютерах передается в виде байтов, которые обычно содержат 8 бит. А единица данных - машинное слово - включает в себя 2 байта, то есть 16 бит. Таким образом, с помощью шестнадцати разных символов можно описать ту информацию, которая является мельчайшей частицей при обмене. Шестнадцатиричная система счисления включает наши привычные цифры (естественно, от 0 до 9), а также первые буковки (A, B, C, D, E, F). Именно с помощью этих символов принято записывать любую единицу информации. С ними можно производить любые арифметические действия. То есть сложение, вычитание, умножение, деление. Результатом также будет шестнадцатеричное число.

Где применяется

Шестнадцатиричная система используется для записи кодов ошибок. Они могут возникать при работе различных программных продуктов. Например, так кодируются ошибки операционной системы. Каждое число при этом стандартное. Можно выяснить, какая именно ошибка произошла в процессе работы, расшифровав его с помощью инструкции. Также применяются такие символы при написании программ на языках низкого уровня, например ассемблере. Шестнадцатиричная система счисления любима программистами еще и потому, что ее составляющие очень легко могут быть переведены в двоичные, которые являются «родными» для всей цифровой техники. С помощью таких символов описывают также цветовые схемы. Кроме того, абсолютно все файлы в компьютере (и текстовые, и графические, и даже музыкальные или видео) представляются после трансляции в виде последовательности Просматривать исходный удобнее всего как раз в виде шестнадцатеричных символов.

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