перации над числами с плавающей запятой

 

Сложение чисел с плавающей запятой: С = А + В.

А = 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. Операция деления двоичных чисел с плавающей запятой.