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

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

Восьмеричная и шестнадцатеричная системы - student2.ru

Как восьмеричная, так и шестнадцатеричная системы счисления относятся к позиционным и имеют своими основаниями, соответственно, числа Восьмеричная и шестнадцатеричная системы - student2.ru и Восьмеричная и шестнадцатеричная системы - student2.ru . В восьмеричной системе используются цифры от 0 до 7. В шестнадцатеричной системе цифр в два раза больше и для их символьного обозначения прибегают к смешанному набору буквенных и цифровых знаков:

0 = 0 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 7 = 7 8 = 8 9 = 9 А = 10 В = 11 С = 12 D = 13 E = 14 F = 15

Расшифровка восьмеричного числа производится путем суммирования его цифр, умноженных на соответствующие степени 8:

Восьмеричная и шестнадцатеричная системы - student2.ru

Точно так же расшифровываются и шестнадцатеричные числа:

Восьмеричная и шестнадцатеричная системы - student2.ru

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

Обратите внимание на то, что младшая восьмеричная цифра числа N равна остатку от деления N на 8. Если бы мы делили на 8 двоичный эквивалент числа

Восьмеричная и шестнадцатеричная системы - student2.ru , Восьмеричная и шестнадцатеричная системы - student2.ru

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

Поэтому перевод восьмеричных чисел в двоичные осуществляется простой заменой каждой восьмеричной цифры ее трехразрядным двоичным эквивалентом:

0 = 000 1 = 001 2 = 010 3 = 011 4 = 100 5 = 101 6 = 110 7 = 111

Пример:

Восьмеричная и шестнадцатеричная системы - student2.ru , т. е. это число 11001102

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

0 = 0000 1 = 0001 2 = 0010 3 = 0011 4 = 0100 5 = 0101 6 = 0110 7 = 0111 8 = 1000 9 = 1001 A = 1010 B = 1011 C = 1100 D = 1101 E = 1110 F = 1111

Взаимное соответствие между шестнадцатеричным и двоичным представлениями числа N осуществляется так же просто – каждая шестнадцатеричная цифра заменяется своим четырехразрядным двоичным изображением:

Восьмеричная и шестнадцатеричная системы - student2.ru ,т.е. это число 1101001012

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

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

Переведем число 111010110012 в восьмеричную систему.

а) разбить число на триады, начиная с младших разрядов, и добавить нуль впереди числа:

011 101 011 0012

б) поставить в соответствии каждой тройке восьмеричную цифру:

35318

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

а) разбить число на тетрады, начиная с младших разрядов, и добавить нуль впереди числа:

0111 0101 1001

б) поставить в соответствии каждой тетраде шестнадцатеричную цифру:

75916

На IBM – совместимых ПК чаще применяется шестнадцатеричная система, которая хорошо «ложится» на байтовую структуру памяти. В одном байте помещается ровно две шестнадцатеричные цифры. При выводе содержимого участка памяти с двоичными данными на экран обычно выдаются шестнадцатеричные эквиваленты каждого байта.


Наши рекомендации