Читайте также:
|
|
С точки зрения изучения принципов представления и обработки информации в компьютере, обсуждаемые в этом пункте системы представляют большой интерес.
Хотя компьютер «знает» только двоичную систему счисления, часто
с целью уменьшения количества записываемых на бумаге или вводимых
с клавиатуры компьютера знаков бывает удобнее пользоваться восьмеричными или шестнадцатеричными числами, тем более что, как будет показано далее, процедура взаимного перевода чисел из каждой из этих систем в двоичную очень проста - гораздо проще переводов между любой из этих трех систем и десятичной.
Перевод чисел из десятичной системы счисления в восьмеричную производится (по аналогии с двоичной системой счисления) с помощью делений и умножений на 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.
Дата добавления: 2015-01-30; просмотров: 119 | Поможем написать вашу работу | Нарушение авторских прав |