Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
rgz пример.doc
Скачиваний:
3
Добавлен:
22.07.2019
Размер:
95.74 Кб
Скачать

Задание №2

Представить числа А и В в форме с плавающей запятой в нормализованном виде. Точность представления дробной части ЕД=2-5. Выполнить арифметические операции над числами согласно заданному варианту с использованием модифицированных кодов (пк, дк, ок). Результаты операций С записать в регистр результата RGС в прямом коде, определив его разрядность.

Дано:

А=-D6,C9(16)

В=86,64(10)

ЕД=2-5=0,031

Найти:

А) |А-В|(ок)

Б) |А+В|(дк)

Решение:

А)

  1. Приведём исходные данные к форме операции сложения в кодах:

|А-В|(ок)=(-А) +(-В)=А(ок)(ок)

  1. Приведём исходные данные в двоичную систему исчисления:

А(16)→А(2)

В(10)→В(2)

А=-D6,C9(16)= А(2)=-1101 0110, 1100 1001

-В=-86,64(10)= В(2)=-1010110,10100(2)

Воспользуемся методом поразрядного уравновешивания:

n≥log286=7

64 32 16 8 4 2 1

1

0

1

0

1

1

0

,1

0

1

0

0

86=1010110

0,64*2=1,28 1

0,28*2=0,56 0

0,56*2=1,12 1

0,12*2=0,24 0

0,24*2=0,48 0

0,64=10100

  1. Запишем слагаемые А и В в форме с плавающей запятой и в нормализованном виде.

АПЗН=2РА(-МАН)=28(-0, 1 1010 1101 1001) nА=13

ВПЗН=2РВ(-МВН)=27(-0, 1010 1101 0100) nВ=12

  1. Уравняем порядки.

РС=max(РА , РВ) = РА =8

min РВК= РВ+1=8

MВК=28(-0,0 1010 1101 0100)

  1. Представим мантиссы слагаемых в коде, в зависимости от знака.

МА(ОК)Н= 110 0101 0010 0110

МВ(ОК)Н=111 0101 0010 1011

  1. Запишем коды мантисс в регистр и проведём сложение кодов мантисс, включая знаки.

МА(ОК) →RGA

МВ(ОК) →RGВ

МС(ОК) →RGС

1

1

0

0

1

0

1

0

0

1

0

0

1

1

0

RGA

1

1

1

0

1

0

1

0

0

1

0

1

0

1

1

RGВ

1

1

0

1

1

0

1

0

0

1

0

1

0

0

0

1

RGС

1

  1. Диагностика операций.

Результат определим по знаковому разряду.

10→ МС(ОК), отрицательное переполнение.

РС=8+1=9

nC=13+1=14

  1. Результат МС в прямом коде.

МС(ПК)=-10 0101 1010 1101

  1. Результат операций записать в форме с плавающей запятой.

СПЗН=2Рс(-МСН)=29(-0, 10 0101 1010 1101)=20(-100101101,01101)=СПОЛ

  1. Проверка результата.

А=-D6,C9(16)=-[13*161+6*160],[12*16-1+9*16-2]=-214,78515(10)

-В=-86,64(10)

Сожид=А-В=-214,78515-86,64=-301,42515

256

128

64

32

16

8

4

2

1

0,5

0,25

0,125

0,0625

0,03125

1

0

0

1

0

1

1

0

1

,0

1

1

0

1

СПОЛ(10)=-(256+32+8+4+1+0,25+0,125+0,03125)=-301,40625

ЕП=|-301,42515-(-301,40625)|=0,0189<ЕД – результат верен.

Б)

1. Приведём исходные данные к форме с использованием операции сложения в кодах:

|А+В|(дк)=(-А)+В=А(дк)(пк)

  1. Представим мантиссы слагаемых в коде в зависимости от знака.

МА(ДК)Н= 110 0101 0010 0111

МВ(ДК)Н= 000 1010 1101 0011

  1. Запишем коды мантисс в регистр и проведём сложение кодов мантисс, включая знаки.

МА(ДК) →RGA

МВ(ПК) →RGВ

МС(ПК) →RGС

1

1

0

0

1

0

1

0

0

1

0

0

1

1

1

RGA

0

0

0

1

0

1

0

1

1

0

1

0

0

1

1

RGВ

1

1

0

1

1

1

1

1

1

1

1

1

0

1

0

RGС

  1. Диагностика операций.

Результат определим по знаковому разряду.

11→ МС(ПК), отрицательное переполнение.

РС=8+1=9

nC=13+1=14

  1. Результат МС в прямом коде.

МС(ПК)=-0111111111010

  1. Результат операций записать в форме с плавающей запятой.

СПЗН=2Рс(-МСН)=29(-0,0 0111111111010)=20(-1111111,11010)=СПОЛ

  1. Проверка результатов.

СПОЛ≈СОЖИД

СПОЛ(10)=-(64+32+16+8+4+2+1+0,5+0,25+0,0625)=-127,8125

64

32

16

8

4

2

1

0,5

0,25

0,125

0,0625

0,03125

1

1

1

1

1

1

1

,1

1

0

1

0

СОЖИД =(-А)+В=-214,78515+86,64=-128,14515

ЕП=| - |= <ЕД – результат верен.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]