Условие задачи
Выполнить действия над машинными кодами чисел с плавающей точкой и смещенным порядком в 32-разрядном формате (в нормальной форме, мантисса и порядок выражены в 16ичной СС и в двоичном коде):
Y1 = C + D, Y2 = C - D, Y3 = -C + D, Y4 = -C - D.
Результат Y записать в 32-разрядной двоичной сетке. Произвести проверку.
C10 = -270,875; D10 = 15 3/8 = 15,375.
Ответ
1) Переведем модуль чисел C и D в 2-ую СС и 16-ую:
Переведём целую часть C: 27010 = 1000011102 = 10E16
270 : 2 = 135 целых 0 остаток
135 : 2 = 67 целых 1 остаток
67 : 2 = 33 целых 1 остаток
33 : 2 = 16 целых 1 остаток
16 : 2 = 8 целых 0 остаток
8 : 2 = 4 целых 0 остаток
4 : 2 = 2 целых 0 остаток
2 : 2 = 1 целых 0 остаток
1 : 2 = 0 целых 1 остаток
Переведём дробную часть C: 0,87510 = 0,1112 = 0,E16
0,875 * 2 = 1,75 0,875 * 16 = 14,0
0,75 * 2 = 1,5
0,5 * 2 = 1,0
|С| = 100001110,1112 = 10E,E16
Переведём целую часть D: 1510 = 11112 = F16
Переведём дробную часть C: 0,37510 = 0,011... = 0,6