Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организвция ЭВм и систем

.pdf
Скачиваний:
94
Добавлен:
01.05.2014
Размер:
975.96 Кб
Скачать

-при обработке программы после выполнения операций, где возможно переполнение, предусматривается анализ соответствующего признака и в зависимости от его значения, реализуется то или иное конкретное действие;

-при возникновении признака в любом месте программы в ЭВМ формируется запрос на прерывание и выполняется программа его обслуживания.

2.10. Представление буквенно-цифровой информации

По своей природе компьютеры могут работать лишь с числами. И для того чтобы они могли хранить в памяти и обрабатывать буквы или другие символы, каждому из них должно быть поставлено в соответствие некоторое число, т.е. использована та или иная система кодировки символов.

До недавнего времени было принято представлять один символ буквенноцифровой информации в виде одного байта. С помощью одного байта в общем случае можно закодировать 28=256 символов. Исторически сложилось так, что различные производители стали использовать для представления символов внутри ЭВМ различные коды. В мире имели хождение десятки схем подобного кодирования символов. Но ни одна из этих схем не была столь универсальной, чтобы описать все необходимые символы. По большому счёту, даже для отдельного языка, например, английского, не существовало единой системы кодирования, включавшей в себя все обычно используемые буквы, знаки пунктуации, технические и математические символы.

Среди однобайтовых систем кодировок наибольшее распространение в мире получил Стандартный американский код обмена информацией ASCII, имеющий несколько модификаций. В базовом варианте кода ASCII для кодирования каждого символа используется 7 бит, т.е. можно закодировать 27=128 символов, например:

0 - 0011 0000

 

A - 0100 0001 - 41(16)

 

1 - 0011 0001

 

B - 0100 0010 - 42(16)

2 - 0011 0010

 

. . .

. . .

 

Z - 0101 1010 - 5A(16)

9 - 0011 1001

 

+ - 0010 1011 - 2B(16)

 

 

= - 0011 1101 - 3D(16)

Обычно код информации и управляющих символов представлялся в виде двухразрядного шестнадцатеричного числа. Восьмой бит в байте использовался для расширения отображаемого набора символов или для проверки правильности переданной кодовой комбинации, например проверки на четность.

В отечественных ЭВМ также использовались различные коды. Так, в ЕС-ЭВМ использовался двоичный код обработки информации (ДКОИ), 8-разрядный код обмена информацией (КОИ-8). Использовались также 7-разрядный код КОИ-7 и его модификации, причем код КОИ-7 наиболее близок к базовому варианту кода ASCII. Код КОИ-8 за счет использования 8-го бита позволял представлять помимо служебных символов, цифр и латинских букв еще и русские буквы.

Между тем все эти однобайтовые схемы кодирования часто даже не были совместимы друг с другом. Например, две разные кодировки могли использовать один и тот же код для представления двух разных символов или присваивать разные коды одной и той же букве. В этой ситуации для любого компьютера, а особенно сервера, приходилось поддерживать несколько разных кодировок, которые могли понадобиться. Но даже и тогда при передаче данных на другую платформу или при их преобразовании в другую кодировку всегда оставался риск, что эти данные окажутся повреждёнными.

60

Указанные выше недостатки 8-битовых систем кодирования символов привели к появлению 16-битовых систем, в которых для кодирования любого символа используются два байта. В настоящее время международным стандартом стала двухбайтовая система кодирования символов Unicode, разработанная Unicode Consortium. Unicode Consortium является некоммерческой организацией, основанной для разработки и развития стандарта Unicode, определяющего представление символьной информации в современных программных продуктах и стандартах, и для содействия его широкому распространению и использованию.

Система Unicode присваивает уникальный двухбайтовый код любому символу, независимо от платформы, независимо от программы, независимо от языка. Unicode был принят как стандарт такими лидерами компьютерной индустрии, как Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys, и многими другими.

Именно эта схема кодирования используется такими современными технологиями и стандартами, как, например, XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML и так далее. Именно Unicode является официальной схемой реализации стандарта ISO/IEC 10646, определяющего способы кодировки символов. Эта кодировка поддерживается во множестве операционных систем, во всех современных браузерах Интернет. Повсеместное распространение стандарта Unicode и доступность поддерживающих его средств в настоящее время являются одними из наиболее важных направлений развития индустрии программного обеспечения. Следует отметить, что для сохранения преемственности программного обеспечения Unicode включает в себя как подмножества прежние наиболее распространенные однобайтовые системы кодирования символов.

Использование Unicode в многоуровневых приложениях или программных комплексах, построенных в рамках архитектуры клиент-сервер, а также при представлении данных в сети Интернет, приводит к значительному снижению расходов на поддержку этих продуктов или сервисов по сравнению со случаем использования старых схем кодирования. Unicode позволяет создавать единый программный продукт или Интернет-сайт для множества платформ, языков и стран без каких-либо переделок. Его использование при передаче данных между различными системами предохраняет эти данные от повреждения.

2.11. Заключительные замечания

Представленный выше материал дает только общее представление о выполнении арифметических операций над двоичными числами в различных системах счисления. Реальные алгоритмы выполнения арифметических операций, используемые в современных ЭВМ, позволяют существенно ускорить процесс вычислений, особенно для операций умножения и деления. Однако эти алгоритмы весьма громоздки и сложны для первоначального понимания. Более полную информацию о них можно найти в литературных источниках, перечисленных ниже.

Библиографический сисок

1.Искусство программирования. Т.1. Основные алгоритмы. 3-е изд., испр. и доп. / Д. Кнут; Под ред. Ю.В. Козаченко М.; СПб.; Киев: ВИЛЬЯМС, 2000. 729 с.

2.Искусство программирования. Т.2: Получисленные алгоритмы. 3-е изд., испр. и доп. / Д. Кнут; Под ред. Ю.В. Козаченко М.; СПб.; Киев: ВИЛЬЯМС, 2000. 832с.

3.Основы информатики: Учебник для вузов А.Я. Савельев. М.: МГТУ им. М.Э.

Баумана, 2001. 328 с.

4.

Информатика: Системы счисления и компьютерная арифметика:

/ Е.Андреева, И.Фалина; М.: Лаборатория базовых знаний, 1999. 256 с.

5.

Электронные вычислительные машины и системы: Учеб. пособие для вузов.

3-е изд., перераб. и доп. / Б.М. Каган;М.: Энергоатомиздат, 1991. 592 с.

61

6.Программирование арифметических операций в микропроцессорах: Учеб. пособие для технических вузов. / Злобин В.К., Григорьев В.Л. М.: Высшая шко-

ла, 1991. 303 с.

7.Микропроцессоры и их применение в системах передачи и обработки сигналов: Учеб. пособие для вузов / Б.А. Калабеков; М.: Радио и связь, 1988. 368 с.

8.Введение в микропроцессорную технику / Ч. Гилмор; Под ред. В.М. Кисель-

никова. М.: Мир, 1984. 334 с.

Вопросы для самопроверки

1.Какие виды систем счисления вы знаете?

2.В каких случаях целесообразно применять двоичную, восьмеричную и шестнадцатеричную систему счисления?

3.Чем двоичная система счисления отличается от двоично-десятичной?

4.Как различаются прямой, обратный и дополнительный коды для представления чисел?

5.Когда следует применять прямой, обратный и дополнительный коды для представления чисел?

6.Что такое переполнение разрядной сетки?

7.В каких случаях возникает переполнение разрядной сетки?

8.Для чего используют модифицированные коды?

9.Опишите алгоритм перевода из дополнительного кода в десятичную систе-

му.

10.Поясните понятие «арифметика повышенной точности».

11.Опишите формат ЧФЗ.

12.Для чего нужны ЧФЗ, почему при работе с ними вводят масштабный коэффициент?

13.Опишите формат ЧПЗ.

14.В каких случаях используют ЧПЗ? В чем преимущества ЧФЗ и ЧПЗ?

15.Что такое нормализация числа?

16.Назовите существующие форматы ЧПЗ, используемые в ЭВМ.

17.От чего зависит точность представления ЧПЗ в ЭВМ?

18.Для чего используется нормализация числа?

19.Какие методы ускорения умножения вы знаете? Кратко охарактеризуйте их.

20.В каких случаях используется десятичная арифметика?

21.Зачем нужна двоично-десятичная коррекция?

22.Какие признаки формируются в ЭВМ при нарушении ограничения на длину разрядной сетки?

23.Каким образом хранится символьная информация в ЭВМ?

62

Контрольные задания к главе 2

Контрольное задание имеет две формы: Форма 1 – ответы на теоретические вопросы.

Форма 2 – выполнение арифметических операций.

Выбор формы задания зависит от дополнительных указаний преподавателя.

Форма 1. Ответы на вопросы

1.На листах ответа должны быть указаны номер группы, фамилия студента и номер его варианта.

2.Номера вопросов выбираются студентом в соответствии с двумя последними

цифрами в его зачетной книжке. В табл. 2.7 аn-1 – предпоследняя цифра номера, аn – последняя цифра. В клетках таблицы стоят номера вопросов, на которые необходимо дать письменный ответ

 

 

 

 

 

 

Таблица 2.7

an-1

an

0

1

2

3

4

 

 

 

 

 

 

 

0

 

1,5,9,13,19

2,6,10,14,20

3,7,11,15,21

4,8,12,16,22

1,7,12,17,23

1

 

3,8,10,18,20

4,6,12,13,22

2,7,9,16,23

1,5,11,14,21

3,6,9,14,19

2

 

1,6,9,18,19

2,5,10,17,20

1,8,11,16,21

3,5,9,18,22

2,7,9,17,19

3

 

1,5,9,13,19

2,6,10,14,20

3,7,11,15,21

4,8,12,16,22

1,7,12,17,23

4

 

3,8,10,18,20

4,6,12,13,22

2,7,9,16,23

1,5,11,14,21

3,6,9,14,19

5

 

1,6,9,18,19

2,5,10,17,20

1,8,11,16,21

3,5,9,18,22

2,7,9,17,19

6

 

1,5,9,13,19

2,6,10,14,20

3,7,11,15,21

4,8,12,16,22

1,7,12,17,23

7

 

3,8,10,18,20

4,6,12,13,22

2,7,9,16,23

1,5,11,14,21

3,6,9,14,19

8

 

1,6,9,18,19

2,5,10,17,20

1,8,11,16,21

3,5,9,18,22

2,7,9,17,19

9

 

1,5,9,13,19

2,6,10,14,20

3,7,11,15,21

4,8,12,16,22

1,7,12,17,23

 

 

 

 

 

 

 

an-1

an

5

6

7

8

9

 

 

 

 

 

 

 

0

 

2,8,9,15,19

3,5,10,16,20

4,6,11,13,21

1,8,11,17,22

2,5,12,18,23

1

 

4,7,10,13,20

1,6,12,14,23

2,7,11,15,20

3,5,11,18,21

4,8,10,15,22

2

 

1,6,10,14,22

3,7,12,16,19

4,7,12,15,23

2,5,10,13,23

4,6,9,17,21

3

 

2,8,9,15,19

3,5,10,16,20

4,6,11,13,21

1,8,11,17,22

2,5,12,18,23

4

 

4,7,10,13,20

1,6,12,14,23

2,7,11,15,20

3,5,11,18,21

4,8,10,15,22

5

 

1,6,10,14,22

3,7,12,16,19

4,7,12,15,23

2,5,10,13,23

4,6,9,17,21

6

 

2,8,9,15,19

3,5,10,16,20

4,6,11,13,21

1,8,11,17,22

2,5,12,18,23

7

 

4,7,10,13,20

1,6,12,14,23

2,7,11,15,20

3,5,11,18,21

4,8,10,15,22

8

 

1,6,10,14,22

3,7,12,16,19

4,7,12,15,23

2,5,10,13,23

4,6,9,17,21

9

 

2,8,9,15,19

3,5,10,16,20

4,6,11,13,21

1,8,11,17,22

2,5,12,18,23

Форма 2. Выполнение арифметических операций над числами

1.Все действия, производимые над операндами и результатами, включая перевод чисел из одной системы счисления в другую, должны быть подробно расписаны в соответствии с алгоритмами, рассмотренными в этом разделе.

2.В операциях перемножения указать вариант операции, т.е. "старшими разрядами вперед" или "младшими разрядами вперед".

3.Результаты представить в десятичной системе счисления.

4.На листах ответа должны быть указаны номер группы, фамилия студента и номер варианта задания.

5.Номер варианта задания выбирается студентом в соответствии с двумя последними цифрами в его зачетной книжке. В табл. 2.8 аn-1 – предпоследняя

63

цифра номера, аn – последняя цифра. В клетках табл. 2.8 стоят номера вариантов заданий, полный список которых приведен в табл. 2.9.

Таблица 2.8

an-1

an

0

1

2

3

4

5

6

7

8

9

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

19

34

27

5

14

20

30

9

26

1

 

28

2

31

4

13

6

15

8

32

10

2

 

21

35

3

12

22

33

7

16

23

18

3

 

29

24

11

36

28

25

30

29

17

34

4

 

20

9

12

8

22

5

15

4

27

1

5

 

11

36

21

35

14

32

24

33

18

31

6

 

19

10

13

7

23

6

16

3

26

2

7

 

17

25

1

15

34

33

27

29

12

20

8

 

14

2

22

5

35

8

36

9

21

11

9

 

3

16

4

18

6

19

7

13

10

17

Задание 1. Выполнить арифметические действия, рассматривая операнды как ЧФЗ справа от МЗР в формате 1-го байта. Определить модуль результата. Формат результата – 2 байта.

Задание 2. Выполнить арифметические действия, рассматривая операнды как ЧПЗ с основанием 2 в следующем формате: несмещенный порядок – 4 бита, мантисса – 8 бит. Формат результата – тот же. Округление производить после приведения операнда к нормализованной форме. Результат нормализовать.

Задание 3. Выполнить арифметические действия над операндами, представив их в двоично-десятичном коде.

Варианты заданий

 

 

 

 

 

 

 

 

 

 

 

Таблица 2.9

Опе

Задание 1 (ЧФЗ)

Задание 2 (ЧПЗ)

Задание 3 (2-10)

вари-

ран

 

Операции

 

 

Операции

 

 

Операции

 

анта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ды

X+Y

 

X-Y

 

X*Y

X+Y

 

X-Y

 

X*Y

X+Y

 

X-Y

 

X*Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

 

4

 

5

6

 

7

 

8

9

 

10

 

11

01

X

15

 

15

 

15

15.33

 

15.33

 

15.33

153

 

153

 

153

Y

33

 

33

 

33

33.15

 

33.15

 

33.15

331

 

331

 

331

 

 

 

 

 

 

 

02

X

32

 

32

 

32

32.67

 

32.67

 

32.67

326

 

326

 

326

Y

67

 

67

 

67

67.32

 

67.32

 

67.32

673

 

673

 

673

 

 

 

 

 

 

 

03

X

17

 

17

 

17

17.37

 

17.37

 

17.37

173

 

173

 

173

Y

37

 

37

 

37

37.17

 

37.17

 

37.17

371

 

371

 

371

 

 

 

 

 

 

 

04

X

30

 

30

 

30

30.63

 

30.63

 

30.63

306

 

306

 

306

Y

63

 

63

 

63

63.30

 

63.30

 

63.30

633

 

633

 

633

 

 

 

 

 

 

 

05

X

19

 

19

 

19

19.41

 

19.41

 

19.41

194

 

194

 

194

Y

41

 

41

 

41

41.19

 

41.19

 

41.19

411

 

411

 

411

 

 

 

 

 

 

 

06

X

28

 

28

 

28

28.59

 

28.59

 

28.59

285

 

285

 

285

Y

59

 

59

 

59

59.28

 

59.28

 

59.28

592

 

592

 

592

 

 

 

 

 

 

 

07

X

21

 

21

 

21

21.45

 

21.45

 

21.45

214

 

214

 

214

Y

45

 

45

 

45

45.21

 

45.21

 

45.21

452

 

452

 

452

 

 

 

 

 

 

 

08

X

26

 

26

 

26

26.55

 

26.55

 

26.55

265

 

265

 

265

Y

55

 

55

 

55

55.26

 

55.26

 

55.26

552

 

552

 

552

 

 

 

 

 

 

 

09

X

23

 

23

 

23

23.49

 

23.49

 

23.49

234

 

234

 

234

Y

49

 

49

 

49

49.23

 

49.23

 

49.23

492

 

492

 

492

 

 

 

 

 

 

 

64

Продолжение табл. 2.9

1

2

3

4

5

6

7

8

9

10

11

10

X

24

24

24

24.51

24.51

24.51

245

245

245

Y

51

51

51

51.24

51.24

51.24

512

512

512

 

11

X

25

25

25

25.53

25.53

25.53

255

255

255

Y

53

53

53

53.25

53.25

53.25

532

532

532

 

12

X

22

22

22

22.47

22.47

22.47

224

224

224

Y

47

47

47

47.22

47.22

47.22

472

472

472

 

13

X

27

27

27

27.57

27.57

27.57

275

275

275

Y

57

57

57

57.27

57.27

57.27

572

572

572

 

14

X

20

20

20

20.43

20.43

20.43

204

204

204

Y

43

43

43

43.20

43.20

43.20

432

432

432

 

15

X

29

29

29

29.61

29.61

29.61

296

296

296

Y

61

61

61

61.29

61.29

61.29

612

612

612

 

16

X

38

38

38

38.54

38.54

38.54

385

385

385

Y

54

54

54

54.38

54.38

54.38

543

543

543

 

17

X

31

31

31

31.65

31.65

31.65

316

316

316

Y

65

65

65

65.31

65.31

65.31

653

653

653

 

18

X

16

16

16

16.35

16.35

16.35

163

163

163

Y

35

35

35

35.16

35.16

35.16

351

351

351

 

19

X

13

13

13

13.31

13.31

13.31

133

133

133

Y

31

31

31

31.13

31.13

31.13

331

331

331

 

20

X

18

18

18

18.72

18.72

18.72

187

187

187

Y

72

72

72

72.18

72.18

72.18

721

721

721

 

21

X

15

15

15

15.48

15.48

15.48

154

154

154

Y

48

48

48

48.15

48.15

48.15

481

481

481

 

22

X

41

41

41

41.58

41.58

41.58

415

415

415

Y

58

58

58

58.41

58.41

58.41

584

584

584

 

23

X

22

22

22

22.81

22.81

22.81

228

228

228

Y

81

81

81

81.22

81.22

81.22

812

812

812

 

24

X

19

19

19

19.74

19.74

19.74

197

197

197

Y

74

74

74

74.19

74.19

74.19

741

741

741

 

25

X

46

46

46

46.73

46.73

46.73

467

467

467

Y

73

73

73

73.46

73.46

73.46

734

734

734

 

26

X

38

38

38

38.62

38.62

38.62

386

386

386

Y

62

62

62

62.38

62.38

62.38

623

623

623

 

27

X

14

14

14

14.51

14.51

14.51

145

145

145

Y

51

51

51

51.14

51.14

51.14

511

511

511

 

28

X

23

23

23

23.36

23.36

23.36

233

233

233

Y

36

36

36

36.23

36.23

36.23

362

362

362

 

29

X

34

34

34

34.71

34.71

34.71

347

347

347

Y

71

71

71

71.34

71.34

71.34

713

713

713

 

30

X

19

19

19

19.64

19.64

19.64

196

196

196

Y

64

64

64

64.19

64.19

64.19

641

641

641

 

31

X

42

42

42

42.69

42.69

42.69

426

426

426

Y

69

69

69

69.42

69.42

69.42

694

694

694

 

32

X

35

35

35

35.68

35.68

35.68

356

356

356

Y

68

68

68

68.35

68.35

68.35

683

683

683

 

33

X

21

21

21

21.75

21.75

21.75

217

217

217

Y

75

75

75

75.21

75.21

75.21

752

752

752

 

34

X

17

17

17

17.66

17.66

17.66

176

176

176

Y

66

66

66

66.17

66.17

66.17

661

661

661

 

65

Окончание табл. 2.9

35

X

35

 

35

 

35

35.52

 

35.52

 

35.52

355

355

 

355

Y

52

 

52

 

52

52.35

 

52.35

 

52.35

523

523

 

523

 

 

 

 

 

 

36

X

28

 

28

 

28

28.83

 

28.83

 

28.83

288

288

 

288

Y

83

 

83

 

83

83.28

 

83.28

 

83.28

832

832

 

832

 

 

 

 

 

 

 

 

Пример выполнения контрольного задания (форма 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Опе

Задание 1 (ЧФЗ)

Задание 2 (ЧПЗ)

Задание 3 (2-10)

вари-

ран

 

Операции

 

 

Операции

 

Операции

 

анта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ды

X+Y

 

X-Y

 

X*Y

X+Y

 

X-Y

 

X*Y

X+Y

X-Y

 

X*Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

18

 

18

 

18

18.33

 

18.33

 

18.33

183

183

 

183

Y

33

 

33

 

33

33.18

 

33.18

 

33.18

331

331

 

331

 

 

 

 

 

 

Задание 1. Выполнить арифметические действия, рассматривая операнды как ЧФЗ справа от МЗР в формате 1-го байта. Определить модуль результата. Формат результата – 2 байта.

1. Выполним операцию сложения Z = X+Y = 18(10) + 33(10) = 51(10). X = 18(10) = 0001 0010(2); Y = 33(10) = 0010 0001(2).

Выполним сложение в ПК:

Перенос (единицы)

 

 

 

X

+

0001 0010

 

Y

 

0010 0001

 

Сумма (X+Y)

 

0011 0011(2)

= 51(10)

Результат: Z = 0011 0011(2) = 51(10) .

2. Выполним операцию вычитания Z = X-Y = 18(10) – 33(10) = -15(10).

 

X = 18(10) → 0001 0010(2)

- ПК

 

 

 

 

Y = -33(10)→ 1010 0001(2)

- ПК (-)

 

 

Быстрый перевод

 

 

 

 

 

1101 1111(2)

- ДК

 

 

0001 0010

 

 

 

 

 

 

 

 

 

Перенос из знакового разряда отсутст-

+

 

 

вует. Число отрицательное в ДК, так как

1101 1111

 

 

 

 

знаковый разряд равен 1.

0 ←

1111 0001(2)

перенос

.Вычислим результат, преобразовав его из ДК в ПК :

1111 0001(2)

(ДК)

1000 1110

 

Инверсия всехразрядов, кроме знакового

+

1

 

 

 

 

 

 

 

1000 1111

(2)

(ПК) = - 15(10)

Результат: Z = 1000 1111(2) = 15(10) .

3. Выполним операцию умножения Z = X*Y = 18(10)*33(10) = 594(10). X = 18(10) = 0001 0010(2); Y = 33(10) = 0010 0001(2).

66

Выполним операцию умножения младшими разрядами вперед:

Y=

0 0 1 0 0 0 0 1

 

 

 

 

 

00010010

 

 

P1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

000010010

 

 

сдвиг на 1 разряд вправо

 

 

 

00000000

 

 

P2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сумма P1 + P2

 

 

 

 

 

000010010

 

 

 

+

 

0000010010

сдвиг на 1 разряд вправо

 

 

00000000

 

 

P3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000010010

сумма P1+P2+P3

+

 

00000010010

сдвиг на 1 разряд вправо

 

00000000

 

 

P4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00000010010

сумма P1+P2+P3+P4

+

000000010010

сдвиг на 1 разряд вправо

00000000

 

 

P5

 

 

 

 

 

 

 

 

 

 

 

 

000000010010

сумма P1+P2+P3+P4+P5

 

 

 

 

 

0000000010010

сдвиг на 1 разряд вправо

+00010010 P6

0001001010010 сумма P1+P2+P3+P4+P5+P6

00001001010010 сдвиг на 1 разряд вправо

Последние два нуля дают сдвиг на 2 разряда вправо После сдвига получим:

Z = 0000001001010010(2) = 594(10)т.

Задание 2. Выполнить арифметические действия, рассматривая операнды как ЧПЗ с основанием 2 в следующем формате: несмещенный порядок – 4 бита, мантисса – 8 бит. Формат результата – тот же. Округление производить после приведения операнда к нормализованной форме. Результат нормализовать.

X = 18.33(10); Y = 33.18(10).

Преобразуем дробную часть Х, равную 0.33(10), в двоичное число:

2

* 0.33

= 0.66

0

(СЗР)

2

* 0.66

=1.32

1

 

2 * 0.32 = 0.64

0

 

2

* 0.64

=1.28

1

 

2

* 0.28

= 0.56

0

 

2

* 0.56

=1.12

1

 

2 * 0.12 = 0.24

0

 

2

* 0.24 = 0.48

0

 

Таким образом, 0.33(10) = 0.01010100(2), a X = 18.33(10) = 00010010.01010100(2).

• Представим X в формате ЧПЗ, округлив значение мантиссы до 8 разрядов (ненормализованное число):

67

X= 0000*10010.011 .

Px qx

Нормализуем X:

Pнорм xx+5; qx - сдвигаем на 5 разрядов вправо

X= 0101*0.10010011.

pнорм x qнорм x

Преобразуем дробную часть Y, равную 0.18(10), в двоичное число:

2

* 0.18 = 0.36

0

(СЗР)

2

* 0.36 = 0.72

0

 

2

* 0.72 = 1.44

1

 

2

* 0.44 = 0.88

0

 

2

* 0.88

= 1.76

1

 

2

* 0.76

= 1.52

1

 

2

* 0.52 = 1.04

1

 

2

* 0.04

= 0.08

0

 

Таким образом, 0.18(10) = 0.00101110(2), a Y = 33.18(10) = 00100001.00101110(2).

• Представим Y в формате ЧПЗ, округлив значение мантиссы до 8 разрядов (ненормализованное число):

Y= 0000*100001.01 .

Py qy

Нормализуем Y:

Pнорм yy+6; qy - сдвигаем на 6 разрядов вправо

Y= 0110*0.10000101.

pнорм y qнорм y

1. Выполним операцию сложения Z = X+Y = 18.33(10) + 33.18(10) = 51.51(10).

 

 

PY

 

 

 

qY

 

Y → 0110

0.10000101

 

 

 

PX

 

 

 

qX

 

X → 0101

0.10010011

 

 

 

 

 

 

 

 

 

 

- выравнивание порядка X

1.

0110

0.01001001

2.

 

 

 

 

+0.10000101

- qY

 

 

 

 

 

 

0.11001110

- нормализованное значение Z

3.

0110

 

0.11001110

 

 

PZ

 

 

 

qZ

 

Результат: Z = 0110 * 0.11001110(2) = 26 * 0.8046875 = 51.5(10)

2. Выполним операцию вычитания Z = X-Y = 18.33(10) + 33.18(10) = -14.85(10).

68

Результат: Z = (-) 0110 * 0.00111100(2) = - 26 * 0.234375 = - 15(10)

 

3). Выполним операцию умножения Z = X*Y = 18.33(10)*33.18(10) = 608.1894(10).

 

 

 

 

 

 

PX

qX

PY

qY

 

 

 

X= 0101

0.10010011 ,

Y= 0110

0.10000101

Перемножим мантиссы сомножителей (вариант умножения младшими разря-

 

дами вперед):

 

 

 

 

 

qX = 0.1 0 0 1 0 0 1 1

 

 

 

 

 

qY = 0.1 0 0 0 0 1 0 1

 

 

 

 

 

 

 

 

 

 

10010011

 

 

P1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+01001001 1

 

сдвиг на 1 разряд вправо

 

 

 

 

 

 

 

 

00000000

 

 

Р2

 

 

 

 

 

 

 

 

 

 

 

 

 

01001001

1

 

сумма Р12

 

 

 

 

+00100100 11

 

сдвиг на 1 разряд вправо

 

 

 

 

 

 

 

10010011

 

 

P3

 

 

 

 

 

 

 

 

 

 

 

10110111

11

 

сумма Р123

 

 

 

01011011

111

 

сдвиг на 1 разряд вправо

 

 

 

 

 

 

 

 

следующие 4 нуля дадут сдвиг на 4 разряда вправо

 

 

 

 

 

00000101

1011111

 

сдвиг на 4 разряда вправо

 

 

 

 

 

 

 

 

+10010011

 

 

P4

 

 

 

10011000

1011111

 

сумма Р1234

 

 

 

 

+01001100 01011111

 

сдвиг на 1 разряд вправо

 

 

 

 

 

 

 

00000000

 

 

Р5

 

01001100

01011111

 

результат

 

 

 

 

 

 

 

 

 

 

 

69