Организвция ЭВм и систем
.pdf-при обработке программы после выполнения операций, где возможно переполнение, предусматривается анализ соответствующего признака и в зависимости от его значения, реализуется то или иное конкретное действие;
-при возникновении признака в любом месте программы в ЭВМ формируется запрос на прерывание и выполняется программа его обслуживания.
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норм x=Рx+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норм y=Рy+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 |
|
сумма Р1+Р2 |
||||||
|
|
|
|
+00100100 11 |
|
сдвиг на 1 разряд вправо |
|||||||
|
|
|
|
|
|
|
10010011 |
|
|
P3 |
|||
|
|
|
|
|
|
|
|
||||||
|
|
|
10110111 |
11 |
|
сумма Р1+Р2+Р3 |
|||||||
|
|
|
01011011 |
111 |
|
сдвиг на 1 разряд вправо |
|||||||
|
|
|
|
|
|
|
|
следующие 4 нуля дадут сдвиг на 4 разряда вправо |
|||||
|
|
|
|
|
00000101 |
1011111 |
|
сдвиг на 4 разряда вправо |
|||||
|
|
|
|
|
|
||||||||
|
|
+10010011 |
|
|
P4 |
||||||||
|
|
|
10011000 |
1011111 |
|
сумма Р1+Р2+Р3+Р4 |
|||||||
|
|
|
|
+01001100 01011111 |
|
сдвиг на 1 разряд вправо |
|||||||
|
|
|
|
|
|||||||||
|
|
00000000 |
|
|
Р5 |
||||||||
|
01001100 |
01011111 |
|
результат |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
69 |
|