- •Глава 2. Формы представления и способы обработки машинных слов в мп сау.
- •2.1 Формы представления чисел в технических устройствах.
- •2.2 Точность и диапазон представления числовой информации в разрядной сетке с фиксированной запятой.
- •2.3 Представление чисел в разрядной сетке с плавающей запятой.
- •2.4 Алгоритмы обработки кодированной информации в арифметических устройствах.
- •2.4.1 Логический алгоритм формирования дополнительного кода отрицательных чисел.
- •2.5 Аксиомы, сопровождающие суммирование дополнительных кодов.
- •2.5.1 Сумматор дополнительных кодов.
- •2.5.2 Алгоритм формирования обратного кода. Арифметические и логические варианты алгоритмов.
- •2.5.3 Сумматор обратных кодов (циклический сумматор), аксиомы обработки обратных кодов.
- •2.5.4 Блок схема суммирования двоичной информации в форме с плавающей запятой
- •2.6 Выполнение длинных операций (* и /) над арифметическими кодами.
2.3 Представление чисел в разрядной сетке с плавающей запятой.
Разрядная сетка с плавающей запятой представлена на рис.2.3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Знак
мантиссы
Знак
1 2…
р 1 2 ………… n
порядка
порядок мантисса
числа числа
Рис.2.3 Разрядная сетка с плавающей запятой.
A=±m*N±p (2.3)
m – мантисса числа в форме с плавающей запятой, на которую накладываются следующие ограничения.
1/N≤m<1
N – основание системы счисления.
Для нормализованной мантиссы первый символ после запятой в её изображении должен быть значащим т.е. не равен нулю, например:
[0, 5]10= [0, 1]2
P
– порядок это целое число, знак и величина
порядка определяют истинное положение
запятой в изображении мантиссы.
Пример
записи основания десятичной системы :
N=E=10,
а само число в форме с плавающей запятой
имеет вид:
-0,893E+15
Мантисса -0,893; порядок +15
- |
0 |
0 |
0 |
4 |
+ |
3 |
4 |
5 |
0 |
1 |
9 |
7 |
4 |
Рис.2.4 Пример разрядной сетки с занесенным в нее десятичным числом.
+0, 3 4 5 0 1 9 7 4 * 10-4 = 0, 0 0 0 0 3 4 5 0 1 9 7 4
Машинные числа, которые удовлетворяют условиям (2.3) и
(2.4) называются нормализованными.
Именно такая информация может быть адресована в память микропроцессора.
Для двоичного кода :0 0 1 0 0 , 1 0 1 1 0 1 0 0
Порядок: P= [100] → [4]10
Мантисса : m=, 10110100
m=
[1011, 01]2
→
[b, 25]
0*2-1+1*2-2=1/4=0, 25
A=-0, 000101011*1011
m
m =, 10101*10110
p=11+11=110 m
Оценим диапазон чисел представленных в сетке с плавающей запятой
|A|maxP
Для |m|max: m1=m2=…=mi=…=mn=1
n n
|m|max=∑ mi*N-i=∑ 2-1=1-2-n
i=1 i=1
|m|max=1-2-n
2k-1=|P|max
k
|P|max=∑ 1*2i=2k-1=1*21+1*22+…+1*2p
i=1
|A|max=
(1-2-n)*2(k-1)
(7)
Для |m|min : m1=1, m2=m3=…=mn=0
|m|min=1 * 2-1
P
|P|min=-∑ 1*2i=2(1-2p)
|A|min=2-1*2(1-2p)=2-2p
Использование режима с плавающей запятой для представления чисел в микропроцессоре значительно расширяет их диапазоны по сравнению с разрядной сеткой с фиксированной запятой, сохраняет при этом относительную погрешность представления чисел.
