Логотип Автор24реферат
Задать вопрос
%
уникальность
не проверялась
Решение задач на тему:

Выполнить действия над машинными кодами чисел с плавающей точкой и смещенным порядком в 32-разрядном формате

уникальность
не проверялась
Аа
3530 символов
Категория
Информационные технологии
Решение задач
Выполнить действия над машинными кодами чисел с плавающей точкой и смещенным порядком в 32-разрядном формате .pdf

Зарегистрируйся в 2 клика в Кампус и получи неограниченный доступ к материалам с подпиской Кампус+ 🔥

Условие

Выполнить действия над машинными кодами чисел с плавающей точкой и смещенным порядком в 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.

Нужно полное решение этой работы?

Ответ

Y1 = 110000110111111110000000000000002 = C37F800016 Y2 = 110000111000111100100000000000002 = C38F200016 Y3 = 010000111000111100100000000000002 = 438F200016 Y4 = 010000110111111110000000000000002 = 437F800016

Решение

Потяни, чтобы посмотреть
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,0112 = 0,616
0,375 * 2 = 0,75 0,375 * 16 = 6,0
0,75 * 2 = 1,5
0,5 * 2 = 1,0
|D| = 1111,0112 = F,616
2) Нормализуем числа C и D:
|С| = 100001110,1112 = 1,000011101112 * 28
|D| = 1111,0112 = 1,1110112 * 23
3) Вычислим экспоненту C и D:
(так как 32 бита у числа, то под экспоненту – 8 бит, добавим к ней смещение)
Экспонента C: 127 + 8 = 135 = 128 + 7 = 100001112
Экспонента D: 127 + 3 = 130 = 128 + 2 = 100000102
4) Теперь всё соединим:
Формат числа: [ 1-ый бит – знак, 8бит – экспонента, 23бита (1-ая 1 не пишется) – нормализованное число (мантисса)(оставшиеся разряды – 0)]
C = 1100 0011 1000 0111 0111 0000 0000 00002 = C387700016
-C = 0100 0011 1000 0111 0111 0000 0000 00002 = 4387700016
D = 0100 0001 0111 0110 0000 0000 0000 00002 = 4176000016
5) Вычислим Y1, Y2, Y3, Y4:
Найдем разность экспонент C и D: 100001112 - 100000102 = 510
Следовательно, для вычислений нужно сдвинуть мантиссу D на 5:
Мантисса C: 1,000011101112 * 28
Мантисса D: 1,1110112 * 23 = 0,000011110112 * 28
_1,00001110111
0,00001111011
0,11111111100
Y1 = C + D
Получается, что мантисса Y1 = 0,111111111 * 28 = 1,11111111 * 27, следовательно, экспонента уменьшилась на 1: 100001102
Y1 = 1100 0011 0111 1111 1000 0000 0000 00002 = C37F800016
Y4 = -C - D – мантисса вычисляется аналогично Y1, и отличается от Y1 только знаком (1-ым битом)
Y4 = 0100 0011 0111 1111 1000 0000 0000 00002 = 437F800016
+1,00001110111
0,00001111011
1,00011110010
Y2 = C - D
Y2 = 1100 0011 1000 1111 0010 0000 0000 00002 = C38F200016
Y3 = -C + D – мантисса вычисляется аналогично Y2, и отличается лишь знаком
Y3 = 0100 0011 1000 1111 0010 0000 0000 00002 = 438F200016
6) Проверка (переведем только числа Y1 и Y2, т.к
50% задачи недоступно для прочтения
Переходи в Кампус, регистрируйся и получай полное решение
Получить задачу
Больше решений задач по информационным технологиям:
Все Решенные задачи по информационным технологиям
Учись без напряга с AI помощником и готовыми решениями задач
Подписка Кампус откроет доступ в мир беззаботных студентов