Выполнение арифметических операций в АЛУ для чисел с фиксированной запятой. Часть I. Базарова С. Б-М - 6 стр.

UptoLike

11
Пусть мантисса S-ричного числа содержит в r
старших разрядах нули. Тогда нормализация заключается в
сдвиге мантиссы на r разрядов влево и уменьшении
порядка на r единиц, при этом в младшие r разрядов
мантиссы записывается 0. При нулевой мантиссе
нормализация невозможна.
Задачи, решаемые на ЭВМ, предъявляют различные
требования к точности вычислений. Поэтому во многих
машинах используется несколько форматов с плавающей
запятой с различным числом разрядов мантиссы.
Пример - Пусть X = +24,5. Перевести число X в
формат числа с плавающей запятой,
X
p
mSX
X
×=
.
Для модуля порядка (см. рис. 1.3) выделим 7
разрядов (разряды [1
÷7]), а для мантиссы в данном примере
уменьшим количество разрядов с целью уменьшения
вычислений и выделим для нее 10 разрядов (разряды
[8
÷17]).
Определим мантиссу числа m
X
. Для этого
представим в двоичном виде целую и дробную части числа.
Алгоритм перевода целого десятичного числа в двоичный
вид широко описан в технической литературе и в данном
пособии не приводится. Целая часть числа X = 24
соответствует двоичному числу 11000 b. Для отображения
12
целой части числа необходимо 5 битов. Целую часть числа
X занесём в соответствующие разряды мантиссы m
X
.
Определим двоичный вид дробной части числа. В
общем случае алгоритм преобразования дробной части
десятичного числа к двоичному виду можно разбить на
следующие этапы:
1. Вычесть из исходного десятичного числа его
целую часть. Результатчисло R.
2. Умножить число R на 2.
3. Если R
1, то:
а) очередная цифра дробной части в
двоичном виде равна 1;
б) из числа R вычесть 1.
Если же R < 1, то очередная цифра дробной части
в двоичном виде равна 0.
4. Пункты 2 и 3 повторяются до получения
необходимого числа разрядов.
Количество итераций алгоритма (количество
полученных цифр дробной части) зависит от разрядности
мантиссы. Для данного примера разрядность мантиссы
равна 10. Для целой части числа X необходимо 5 битов, на
дробную часть числа X также выделяется 5 разрядов – 5
итераций.
       Пусть мантисса S-ричного числа содержит в           r   целой части числа необходимо 5 битов. Целую часть числа
старших разрядах нули. Тогда нормализация заключается в        X занесём в соответствующие разряды мантиссы mX.
сдвиге мантиссы на     r   разрядов влево и уменьшении                Определим двоичный вид дробной части числа. В
порядка на   r единиц, при этом в младшие r разрядов           общем случае алгоритм преобразования             дробной части
мантиссы записывается        0. При нулевой мантиссе           десятичного числа к двоичному виду можно разбить на
нормализация невозможна.                                       следующие этапы:

       Задачи, решаемые на ЭВМ, предъявляют различные                1. Вычесть из исходного десятичного числа его

требования к точности вычислений. Поэтому во многих                        целую часть. Результат – число R.

машинах используется несколько форматов с плавающей                  2. Умножить число R на 2.

запятой с различным числом разрядов мантиссы.                        3. Если R ≥ 1, то:
                                                                              а)   очередная    цифра    дробной       части   в
       Пример - Пусть X = +24,5. Перевести число X в
                                                                              двоичном виде равна 1;
формат числа с плавающей запятой, X = S p X × m X .
                                                                              б) из числа R вычесть 1.
       Для модуля порядка (см. рис. 1.3) выделим 7
                                                                           Если же R < 1, то очередная цифра дробной части
разрядов (разряды [1÷7]), а для мантиссы в данном примере
                                                                           в двоичном виде равна 0.
уменьшим количество разрядов с целью уменьшения
                                                                     4. Пункты 2 и 3 повторяются                до    получения
вычислений и выделим для нее 10 разрядов (разряды
                                                                           необходимого числа разрядов.
[8÷17]).
                                                                      Количество      итераций      алгоритма        (количество
       Определим мантиссу числа          mX . Для этого
                                                               полученных цифр дробной части) зависит от разрядности
представим в двоичном виде целую и дробную части числа.
                                                               мантиссы. Для данного примера разрядность мантиссы
Алгоритм перевода целого десятичного числа в двоичный
                                                               равна 10. Для целой части числа X необходимо 5 битов, на
вид широко описан в технической литературе и в данном
                                                               дробную часть числа X также выделяется 5 разрядов – 5
пособии не приводится.     Целая часть числа     X    =   24
                                                               итераций.
соответствует двоичному числу 11000 b. Для отображения
                            11                                                                 12