ПЕРЕВОД ЧИСЕЛ ИЗ ШЕСТНАДЦАТЕРИЧНОЙ СИСТЕМЫ В ДЕСЯТИЧНУЮ

ПЕРЕВОД ЧИСЕЛ ИЗ ВОСЬМЕРИЧНОЙ СИСТЕМЫ В ДЕСЯТИЧНУЮ

Восемь раз отмерь, один раз переведи.

А. Алешин

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

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

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

23578 = (2·83)+(3·82)+(5·81)+(7·80) = 2·512 + 3·64 + 5·8 + 7·1 = 126310

 

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

Каждый Охотник Желает Знать, Где Сидит Фазан.
Запишите в шестнадцатеричной системе счисления все цвета,
встречающиеся в этом мнемоническом правиле. Слабо?

А. Алешин

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

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

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

F45ED23C16 = (15·167)+(4·166)+(5·165)+(14·164)+(13·163)+(2·162)+(3·161)+(12·160) = 409985490810

 

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

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

1. Делим десятичное число А на 2. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа.

2. Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток (0 или 1) записывается в разряды двоичного числа в направлении от младшего бита к старшему.

3. Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a = 1.

 

Например, требуется перевести десятичное число 247 в двоичное. В соответствии с приведенным алгоритмом получим:

24710 : 2 = 12310
24710 - 24610 = 1, остаток 1 записываем в МБ двоичного числа.
12310 : 2 = 6110
12310 - 12210 = 1, остаток 1 записываем в следующий после МБ разряд двоичного числа.
6110 : 2 = 3010
6110 - 6010 = 1, остаток 1 записываем в старший разряд двоичного числа.
3010 : 2 = 1510
3010 - 3010 = 0, остаток 0 записываем в старший разряд двоичного числа.
1510 : 2 = 710
1510 - 1410 = 1, остаток 1 записываем в старший разряд двоичного числа.
710 : 2 = 310
710 - 610 = 1, остаток 1 записываем в старший разряд двоичного числа.
310 : 2 = 110
310 - 210 = 1, остаток 1 записываем в старший разряд двоичного числа.
110 : 2 = 010, остаток 1 записываем в старший разряд двоичного числа.

Представление чисел в ЭВМ: естественная и нормальная формы(+методичка)

В ЭВМ используются следующие формы представления данных:
• числа с фиксированной точкой (запятой) или естественная форма;
• числа с плавающей точкой (запятой) или нормальная форма;
• десятичные числа;
• символьные данные.

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

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

0,81756423-10» р = 0; 8,17564230,10-1. р=-1; 0,08175642.101 P==-fl.

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

Действия над числами, представленными в нормальной форме, сложнее, чем иад числами с фиксированной запятой. Но зато форма «с плавающей запятой>-позволяет охваггить очень ширлжий диапазон чисел.

 

Числа с фиксированной точкой

В общем случае разрядная сетка ЭВМ для размещения чисел в форме с фиксированной точкой показана на рисунке.
На рисунке показано п разрядов для представления целой части числа и r разрядов — для дробной части числа.


a) фиксированная

При заданных п иr диапазон изменения модулей чисел, коды которых могут быть представлены в данной разрядной сетке, определяется неравенством


Использование формы с фиксированной точкой для представления смешанных (с целой и дробной частью) чисел в ЭВМ практически не встречается. Как правило, используются ЭВМ либо с дробной арифметикой (п=0), либо с целочисленной арифметикой (r=0).


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


Числа с плавающей точкой
b) рис 14.б с плавающей точкой

В нормальной форме число представляется в виде произведения X=mqp
где т — мантисса числа;
q — основание системы счисления;
р — порядок.


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


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

 

В общем случае разрядную сетку ЭВМ для размещения чисел в нормальной форме можно представить в виде, изображенном на рис. Разрядная сетка содержит:

· разряд для знака мантиссы;

· r цифровых разрядов для q-ичного кода модуля мантиссы;

· разряд для кода знака порядка;

· s разрядов для q-ичного кода модуля порядка.

Диапазон представления модулей чисел в нормальной нормализованной форме определяется следующим неравенством:

 

 

Пример:

133,21 = 102*1.3321, 102- порядок, 1.3321- мантисса.
1332.1 = 103*1.3321
0.13321 = 10-1*1.3321

 

Пример2 :

Одно и то же число может быть записано в различных формах

452,34 = 452340·10-3 = 0,0045234·105 = 0,45234·103

Естественная форма Нормальная форма

 

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