Перации над числами с плавающей запятой
Сложение чисел с плавающей запятой: С = А + В.
А = 34,75 (10) =100010,11(2) ;
В = 18,125 (10) = 10010,001 (2) .
Операция выполняется в несколько этапов:
1)Нормализация прибавлений или запись с плавающей запятой А=М*q p:
А = 0.10001011*10110; В = 0.10010001*10101.
2)Выравнивание порядков слагаемых в сторону большего порядка. Увеличиваем порядок р в на одну единицу и мантиссу М в смещаем вправо на один разряд.
М в = 0.010010001; р в =110.
3) Выполняем операцию сложения. С = А + В
А = 0.100010110 10110
+ В = 0.010010001 10110
С = 0.110100111 10110
4)Нормализуем результат, если это нужно. В данном случае это не нужно потому, что старший разряд мантиссы равняется 1.
Результат: С = 0.110100111*10110(2) ; С = =52,875 (10)
1) Умножение с младших разрядов мантиссы:
х1011
+1101
1101
С = 10001111(2) = 1*27+1*2 3 +1*2 2 +2+1=128+8+4+3 =143 (10).
2) Умножение со старших разрядов мантиссы:
1011
+ 1101
1101
С = 10001111(2) = 1*27+1*2 3 +1*2 2 +2+1=128+8+4+3 =143 (10).
При умножении для мантиссы нужно в два раза больше разрядов для результатов умножения, чем при сложении. Порядки при умножении складываются, а знаки складываются по модулю 2.
Операция деления двоичных чисел в ЭВМ выполняется методом сложения делимого с дополнительным кодом делителя, а потом с остатком и восстановлением остатков, если остаток стал отрицательным числом, или без восстановления отрицательных остатков. Рассмотрим на примере процесс деления без восстановления остатков.
А = 25 (10) = 11001 (2); В = 5 (10) = 101 (2). С=А:В =25:5 =11001:101.
1) Смещаем делитель таким образом, чтобы в старшем разряде была цифра большая нуля.
В = 00.10100 n=2 (сдвиг делителя влево на два разряда).
При смещении на n разрядов влево, результат будет иметь (n+1) разрядов целых цифр до запятой.
2)Рассмотрим процесс деления мантисс в модифицированном коде:
00.11001 |00.10100 [B] д..к. = 11.01100
+ 11.01100 1 0 1
100.00101 1 переноса из знакового разряда отбрасывается
00.01010 Смещаем остаток влево на 1 разряд
+ 11.01100
11.10110
00.10100 Деление выполняется
+ 11.01100 без восстановления остатков
100.00000
Количество целых цифр результата равно 3.
При делении чисел с плавающей запятой порядки чисел вычитаются с помощью сложения в дополнительном коде: [p] д..к. =[p] д.к.-[p] д..к., а знак числа – сложением по модулю 2, как это выполнялось при умножении.
3. ВАРИАНТЫ ИНДИВИДУАЛЬНЫХ ЗАДАНИЙ
3.1.Составить первое число из следующей последовательности цифр:
- число собственной даты рождения;
- номер месяца собственной даты рождения;
- последние две цифры года собственной даты рождения.
Например:
дата рождения - 22 мая 1984 года
получим число - 220584
Второе число - 529 (для всех вариантов).
3.2. Перевести полученные два числа в двоичную, восьмиричную, шестнадцатиричную системы счисления.
3.3. Получить сумму этих двух чисел в двоичной, восьмиричной, шестнадцатиричной и десятичной системах счисления.
3.4. Результаты суммирования чисел в двоичной, восьмиричной, шестнадцатиричной системах перевести в десятичную систему счисления.
Проверить правильность проведенных действий, сравнивая полученные результаты с суммой, полученной при сложении чисел в десятичной системе счисления.
3.5. Выполнить операции суммирования, вычитания, умножения и деления чисел с использованием прямого, обратного и дополнительного кодов.
Проверить правильность результатов, сравнивая их с полученными при выполнении тех же действий в десятичной системе счисления.
3.6. Получить число, целой частью которого является первое число, а дробной – второе число. Представить полученное число в формах с фиксированной и плавающей запятой.
4. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Дайте определение термина «информация»?
2. Наиболее распространенные формы представления информации.
3. Единицы измерения информации в ЭВМ.
4. Что такое система счисления?
5. Какие системы счисления вам известны?
6. Позиционная система счисления.
7. Какие системы счисления используется в ЭВМ?
8. Какой вид имеет развернутое представление числа в позиционной системе счисления?
9. Формула вычисления основания позиционной системы счисления
10. Формула веса каждого разряда в позиционной системе счисления.
11. Метод перевода целых чисел из одной системы счисления в другую.
12. Метод перевода дроби из одной системы счисления в другую.
13. Метод перевода двоичных чисел в шестнадцатиричную и наоборот.
14. Машинное представление чисел в естественной форме в ЭВМ.
15. Прямой код чисел в ЭВМ.
16. Обратный код чисел в ЭВМ.
17. Дополнительный код чисел в ЭВМ.
18. Переполнение разрядной сетки.
19. Формы представления чисел в ЭВМ.
20. Форма представления чисел в ЭВМ с фиксированной запятой.
21. Форма представления чисел в ЭВМ с плавающей запятой.
22. Что такое мантисса в числах с плавающей запятой?
23. Что такое порядок и характеристика в числах с плавающей запятой?
24. Операция сложения двоичных чисел с плавающей запятой.
25. Операция умножения двоичных чисел с плавающей запятой.
26. Операция деления двоичных чисел с плавающей запятой.