logo search
ИНФОРМАТИКА ОТВЕТЫ

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

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

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

Перевод чисел из десятичной системы счисления в восьмеричную производится (по аналогии с двоичной системой счисления) с помощью делений и умножений на 8. Например, переведем число 58,32(10):

58 : 8 = 7 (2 в остатке),

7 : 8 = 0 (7 в остатке).

0,32 ∙ 8 = 2,56 (целая часть 2),

0,56 ∙ 8 = 4,48 (целая часть 4),

0,48 ∙ 8 = 3,84 (целая часть 3),...

Таким образом, 58,3210 = 72,243... 8 (из конечной дроби в одной системе может получиться бесконечная дробь в другой).

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

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

Например:

11011001 = 11 011 001, т.е. 110110012 = 3318

Заметим, что группу из трех двоичных цифр часто называют «двоичной триадой». Перевод целого двоичного числа в шестнадцатеричное производится путем раз­биения данного числа на группы по 4 цифры – «двоичные тетрады»:

1100011011001 = 1 1000 1101 1001, т.е. 11000110110012= 18D916.

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

0,11000111012 = 0,110 001 110 100 = 0,61648,

0,11000111012 = 0,1100 0111 0100 =0,С7416.

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

Преобразования чисел из двоичной в восьмеричную и шестнадцатеричную сис­темы и наоборот столь просты (по сравнению с операциями между этими тремя системами и привычной нам десятичной) потому, что числа 8 и 16 являются целыми степенями числа 2. Этой простотой и объясняется популярность восьмеричной и шестнадцатеричной систем в вычислительной технике и программировании.

Арифметические действия с числами в восьмеричной и шестнадцатеричной сис­темах счисления выполняются по аналогии с двоичной и десятичной системами.

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

Например, число 11410

114 – 2 6 – 2 5 – 2 4 – 2 1 = 0.

Таким образом, 11410 = 11100102.

114 – 1∙82 = 114 – 64 = 50,

50 – 6∙81 = 50 – 48 = 2,

2 – 2∙80 = 2 – 2 = 0.

Итак, 11410= 1628.

  1. Арифметические операции в позиционных системах счисления

Сложение

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

Вычитание

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

 Пример. Вычесть числа: 10101112 -11012 =10010102; 5148 – 4758=178;  728 – 168=548;   53,15 – 16,268=34,678 

 Умножение

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

Деление

Деление осуществляется по тому же алгоритму что и в десятичной системе – «деление уголком», также можно воспользоваться таблицей умножения. От делимого выделяется часть большая делителя, но не больше чем в p раз (p – основание системы счисления).  В результате подбирается цифра, произведение на которую делителя даст число меньшее выделенного, произведение записывается под делимым, сносится следующая цифра, если получившееся значение числа превосходит делитель, пишется – подбирается новая цифра, если нет – в частном пишется 0 и сносится следующая цифра и т.д., до получения результата или достижения  требуемой точности. При проведении арифметических операций над числами, выраженными в различных системах счисления, необходимо предварительно перевести их в одну и ту же систему.