Составители:
24
Таким образом, любое число, включая 0, занимает в памяти
микроконтроллера 4 байта.
Перед тем, как выполнить алгебраическое сложение чисел, пред"
ставленных в форме с плавающей запятой, необходимо осуществить
выравнивание их порядков. При этом слагаемое с меньшим поряд"
ком приводится к порядку второго слагаемого (с большим порядком).
Для этого мантисса слагаемого с меньшим порядком умножается на
число 2
P1
−
P2
. (Здесь P1 и P2 – порядки слагаемых, причём P1< P2).
Это эквивалентно операции сдвига двоичного кода мантиссы вправо
на P2
−
P1 разрядов. Алгебраическое сложение чисел с выравненны"
ми порядками сводится к алгебраическому сложению мантисс.
Примечание.
Это хорошо согласуется с известным правилом алгебраического сложения
десятичных чисел, представленных в форме с плавающей точкой. Например,
чтобы к числу 0.6×10
"2
прибавить число 0.15×10
3
нужно сначала первое число
преобразовать к виду 0.000006ґ10
3
, а затем получить окончательный результат:
0.150006×10
3
.
При выполнении операции умножении (или деления) чисел,
представленных в форме с плавающей точкой, порядок произведе"
ния (или частного) определяется посредством суммирования (или
соответственно вычитания) порядков этих чисел. Мантисса произ"
ведения (или частного) определяется посредством умножения (или
соответственно деления) мантисс этих чисел. Полученное произве"
дение необходимо привести к нормализованному виду.
Чтобы лучше понять логику вышеуказанного правила для дво"
ичных чисел, рекомендуем выполнить перемножение, а затем деле"
ние, например, следующих десятичных чисел: 0.25×10
"2
и 0.5×10
3
.
Ниже приводятся два примера, подробно иллюстрирующих ал"
горитм алгебраического сложения двоичных чисел, представленных
в форме с плавающей точкой.
Пример 1.18
Выполним побайтное сложение двух положительных чисел.
(Формат чисел соответствует таблице 1.4)
Первое слагаемое
00000000
10011000
00110000
11111111
Второе слагаемое
00000000
10010010
00110010
00000001
Младшие байты мантисс
Средние байты мантисс
Старшие байты мантисс
Байты порядков
1. Находим разность порядков, путём вычитания из большего
порядка меньшего.
00000001
11111111
00000010
Порядок второго слагаемого (+1
10
)
Порядок первого слагаемого (−1
10
) в дополнительном коде
Разность порядков (2
10
)
+
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »