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

Сборник задач по дисциплине «Информатика» для ВУЗов. Методические указания к проведению практических занятий по дисциплине «Информатика», для студенто

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
21
Практическая работа 3
«Арифметические основы работы ЭВМ»
1. Цель работы
Изучить арифметические операции.
2. Связь с другими темами практических работ
Данная практическая работа является фундаментом для практиче­ских работ, связанных с криптографией и стеганографией. Знание арифме­тических основ необходимо для понимания принципа работы ЭВМ.
3. Теоретические сведения и расчётные формулы
Правила арифметики во всех позиционных СС аналогичны.
Пример 1. Выполнить операцию арифметического сложения в дво- ичной системе счисления.
Решение.
. . . . .
13 01101
+ 00111
+ 7
20 10100 10 2
ЭВМ чаще вс ных целей при рассмотрении правил выполнения арифметических опера­ций будем использовать малую разрядность.
Пример 2. Выполнить операцию арифметического сложения двух
. . . . . .
55,25 0110111.01 + 19,5
74,75 1001010.11 10 2
ния многоразрядных двоичных чисел.
его используются 32-,
+ 0010011.10
Точками показаны переносы.
В устройствах, реализующих опера­цию арифметического сложения двоичных чисел, операнды представляют числами оп­ределённой разрядности (одинаковой для обоих операндов). При этом неиспользуемые старшие разряды заполняются нулями.
Следует заметить, что в реальных
64-разрядные сетки. Однако для учеб-
вещественных чисел в двоичной сис­теме счисления.
Решение.
Результаты сложения двух чи­сел показаны на рисунке. При сло­жении вещественных чисел в об случае перено дробной части числа в целую часть.
Рассмотрим правило умноже-
с осуществляется и из
щем
22
Умножение двоичных многоразрядных чисел производится пу­тём образования частичных произведений и последующего их сумми­рования. Каждое частичное произведение равно нулю, если в соответ­ствующем разряде множителя стоит 0, или равно множимому, сдвину­тому на соответствующее число разрядов влево, если в разряде множи­теля стоит 1.
Таким образом, операция умножения многоразрядных двоичных чи­сел внутри ЭВМ сводится к операции сдвига и сложения. Положение точ­ки, отделяющей целую часть от дробной части, определяется так же, как и при умножении десятичных чисел.
Пример 3. Перемножить в двоичной СС числа 7,5D и 5D.
Решение.
7,5 x 5 37,5
10
111.1 x 101
1111 + 0000 1111 .
100101.1 2
множимое x множитель 1-е част. произв. + 2-е част. произв. 3-е част. произв. п р о и з в е д е н и е
.
В рассмотренном пр
имере вто
рой двоичный разряд множителя равен
нулю, поэтому второе частичное произведение также равно нулю.
Пример 4. Выполнить деление в двоичной СС десятичного числа
65D на число 5D.
Полученный результат 1101B = 13D свидетельствует о верности
выполненной операции деления.
В вычислительной технике, с целью упрощения реализации арифме­тических операций, применяют специальные коды. За счёт этого облегча­ется определение знака результата операции, а операция вычитания чисел сводится к арифметическому сложению. В результате упрощаются устрой-
23
ства, выполняющие арифметические операции. Для этого применяют пря­мой, обратный и дополнительный коды.
Прямой двоичный код Р
(х)это такое представление двоичного
пр
числа х, при котором знак «+» кодируется нулём в старшем разряде числа, а знак «–» — единицей. При этом старший разряд называется знаковым. Остальные разряды двоичного числа называются значащими.
Например, числа +5D и –5D, представленные в прямом четырёхраз­рядном двоичном коде, выглядят так: +5D = 0'101B; –5D = 1'101B. Здесь апострофом условно (для удобства определения знака) отделен разряды. Это по
Обратный код Р
правилу:
зволяет не записывать все числа в разрядной сетке.
(х) получается из прямого кода по следующему
обр
0' P
Р
(х) =
обр
1' P
(х), при х  0
пр
(х), при х  0.
пр
ы знаковые
Из приведённого выражения видно, что обратный код для положи­тельных чисел совпадает с прямым кодом. Чтобы представить отрицатель­ное двоичное число в обратном коде, нужно поставить в знаковом разряде 1, во всех значащих разрядах заменить 1 на 0, а 0 на 1. Такая операция на­зывается инверсией и об
означается гори
зонтальной чертой над инверти-
руемым выражением.
Пример 5. Получить обратный код для числа х = –11D.
Решение.
(х) = 1'10112
Р
пр
Р
) = 1'01002.
обр
Считается, что здесь числа представлены пятью разрядами. Из рас­смотренного примера видно, что обратный код для положительных чисел совпадает с прямым, а для отрицательных чисел получается инверсией (пе­реворотом) всех разрядов, кроме знакового разряда.
Дополнительный код Р
Из выражения видно, что дополнительный код положительного чис-
0' P
Р
(х) =
доп
1' P
(х ) образуется следующим образом:
доп
(х), при х  0
пр
(х) + 1, при х0.
пр
ла совпадает с прямым кодом, а для отрицательного числа получается пу­тём инверсии всех значащих разрядов и добавлением единицы к младшему разряду результата.
Дополнительный код отрицательного числа может быть получен из
24
обратного кода путём прибавления 1 к младшему разряду обратного кода (естественно, с учётом переносов между разрядами).
xPxP
обрдоп
.1)()(
Пример 6. Получить дополнительный код для числа х = –14D.
Решение.
(х) = 1'11102 прямой код
Р
пр
Р
(х) = 1'00012 обратный код
обр
Р
) = 1'00102 дополнительный код.
доп
В таблице представлены прямые, обратные и дополнительные коды чисел в диапазоне от –7D до +7D.
Десятичное
(х) Р
Р
пр
(х) Р
обр
доп
(х )
число х
0 0'000 0'000 0'000 1 0'001 0'001 0'001 2 0'010 0'010 0'010 3 0'011 0'011 0'011 4 0'100 0'100 0'100 5 0'101 0'101 0'101 6 0'110 0'110 0'110 7 0'111 0'111 0'111
-0 1'000 1'111
-1 1'001 1'110 1'111
-2 1'010 1'101 1'110
-3 1'011 1'100 1'101
-4 1'100 1'011 1'100
-5 1'101 1'010 1'011
-6 1'110 1'001 1'010
-7 1'111 1'000 1'001
Рассмотрим правило сложения двоичных чисел в дополнительном ко­де.
При алгебраическом сложении двоичных чисел положительные слагаемые представляют в прямом коде, а отрицательные слагаемые — в дополнительном коде, производят арифметическое суммирование этих кодов, включая разряды знаков, которые при этом рассматривают как старшие разряды. При возникновении переноса из разряда знака едини­цу переноса отбрасывают. В результате получают алгебраическую сум­му в прямом коде, если эта сумма п коде, — если сумма отрицательная.
оложи
тельная, и в дополнительном
Напомним, что алгебраическое сложение — это сложение, в котором
могут участвовать как положительные, так и отрицательные числа.
Пример 7. Выполнить алгебраическое сложение с использованием
дополнительного кода для чисел х
= 7D и х2 = –3D.
1
Решение.
Необходимо найти сумму: y = x Учитывая, что x
так как x
P(y) = Р Р Р Р Р
< 0, то число x2 нужно перевести в дополнительный код.
2
пр
(x1) = 0'111В
пр
(x2) = 1'011B
пр
2) = 1'100B
обр
(x2) = 1'101B.
доп
1
(x1) + Р
> 0, это число нужно представить в прямом коде, а
(x2).
доп
+ x2.
1
. . . 0'111 P(y) = + 1'101 0'100 2
Так как результат положителен (в знаковом разряде P(y) — 0), зна-
чит, он представлен в прямом коде Р
(y) =0'100B. После перевода двоич-
пр
ного числа в десятичную СС получим ответ: y = +4D.
Пример 8.
Выполнить алгебраическое сложение чисел х
= 8D и х2 = –13D с ис-
1
пользованием дополнительного кода.
Решение.
Необходимо найти сумму: y = x Число x
нужно представить в прямом коде, а x2 — в дополнительном
1
+ x2.
1
коде.
25
26
P(y) = Р Р Р Р Р
пр
(x1) = 0'1000В
пр
(x2) = 1'1101B
пр
2) = 1'0010B
обр
(x2) = 1'0011B.
доп
(x1) + Р
доп
(x2).
0'1000 P(y) = + 1'0011 1'1011 2
В знаковом разряде стоит единица, и, значит, результат получен в
дополнительном коде. Для перехода от дополнительного кода
(y) = 1'1011B
P
доп
к прямому коду Р
(y) необходимо выполнить следующие преобразования:
пр
Р
обр
(y) = Р
(y) – 1 = 1'1011B – 1 = 1'1010B,
доп
Р
(y) = Р
пр
(y) = 1'1010B = 1'0101B.
обр
Переходя от двоичной СС к десятичной СС, получим ответ: y = –5D.
Пример 9. Выполнить алгебраическое сложение с использованием
дополнительного кода для чисел х
= – 6D и х2 = –17D.
1
Решение
Необходимо найти сумму: y = x Числа x
P(y) = Р Р
пр
Р
обр
Р
доп
Р
пр
Р
обр
Р
доп
и x2 нужно представить в дополнительном коде.
1
доп
(x1) + Р
доп
(x2).
(x1) = 1'00110В
(х1) = 1'11001B (х1) = 1'11010B
(x2) = 1'10001B
(х2) = 1'01110B (x2) = 1'01111B.
+ x2.
1
1'11010 P(y) = + 1'01111 1'01001 2
В знаковом разряде стоит единица, и, значит, результат получен в
дополнительном коде. Для перехода от дополнительного кода
(y) = 1'01001B
P
доп
к прямому коду Р
(y) необходимо выполнить следующие преобразования:
пр
Р
обр
(y) = Р
(y) – 1 = 1'01001B – 1 = 1'01000B,
доп
Р
(y) = Р
пр
(y) = 1'01000B = 1'10111B.
обр
Переходя от двоичной СС к десятичной СС, получим ответ: y = –
23D.
27
4. Задания для выполнения практической работы
«Арифметические основы работы ЭВМ»
4.1. Определить сигналы F на выходе арифметико-логического уст-
ройства АЛУ) и значение переноса в пятый разряд С операнды А и В (десятичная система счисления), а значение переноса из предыдущего разряда составляет С
= 1, причём АЛУ выполняет арифме-
0
тико-логическую операцию, указанную в таблице. Выходной сигнал F сле­дует представить в шестнадцатеричной системе счисления.
Таблица 3.1.
Задача Операнд А Операнд В Операция
, если используются
4
1 2 9
2 3 8
3 4 7
4 5 6
5 6 5
6 7 4
7 8 3
8 9 2
9 1 3
10 8 5
11 7 2
12 6 3
13 5 7
14 4 9
15 3 5
16 2 7
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
CBABABAF )()()(
o
28
4.2. Выполнить операцию алгебраического сложения чисел х
и х2 в
1
дополнительном коде.
Таблица 3.2.
Задача Число х
Число х2 Задача Число х1 Число х2
1
1 10 5 17 -190 100 2 11 7 18 195 -90 3 12 9 19 -200 80 4 13 11 20 205 -70 5 14 13 21 -210 60 6 15 15 22 215 -50 7 16 17 23 -220 40 8 17 19 24 225 -30
9 10 -5 25 -190 -100 10 11 -7 26 -195 -90 11 12 -9 27 -200 -80 12 13 -11 28 -205 -70 13 14 -13 29 -210 -60 14 15 -15 30 -215 -50 15 16 -17 31 -220 -40 16 17 -19 32 -225 -30
Домашнее задание
1. Сформировать дополнительный код для пятиразрядного отрица­тельного десятичного числа –ABCDE. Цифры A, B, C, D, E являются по­следними цифрами зачётки (студенческого билета).
Например, зачётка 4376534526. Значит, десятичное число -34526 (со знаком минус). Нужно получить
дополнительный код этого числа.
2. Сформировать число х Сформировать отрицательное число х
из четырёх последних цифр зачётки.
1
из четырёх последних цифр зачётки,
2
взятых в обратном порядке.
Например,
= 1234
х
1
= -4321
х
2
Выполнить алгебраическое сложение чисел в дополнительном коде. Самостоятельно выбрать необходимую разрядность двоичных чисел.
29
Практическая работа 4
«Представление данных в ЭВМ»
1. Цель работы
Изучить структуру данных в ЭВМ.
2. Связь с другими темами практических работ
Данная практическая работа опирается на первую практическую ра-
боту и необходима для понимания принципа работы ЭВМ.
3. Теоретические сведения и расчётные формулы
При проведении математических расчётов числа в ЭВМ могут быть
представлены с помощью естественной и нормальной форм записи.
Примером записи в естественной форме может служить веществен­ное число 173,856. Для записи числа в естественной форме машинное слово (операнд) делится на две части (на два поля). Первое поле отводится для записи целой части числа, второ Старший разр Разряды машинного слова нумеруются справа – налево, начиная с нуля. В вычислительной технике принято отделять целую часть числа от дробной части точкой. Так как положение точки между целой и дробной частями числа чётко определено, то такое пр лением с фиксированно
На следующем рисунке дана иллюстрация формата чисел с фиксиро­ванной точкой.
яд машинного слова используется для указания знака числа.
й точкой.
е — для записи дробной части числа.
едставление чисел называют представ-
Недостатком формы с фиксированной точкой является малый диапа­зон представления чисел. В современных ЭВМ в этой форме записывают только целые числа. При этом отпадает необходимость отводить поле для
30
записи дробной части числа (см. следующий рисунок).
Разряд кода числа, в котором размещается знак, называется знако­вым разрядом. Знаковый разряд размещается в старшем разряде машинного слова. Знак положительного числа кодируется двоичной цифрой 0, а знак отрицательного числа – цифрой 1.
Нормальная форма записи числа n имеет следующий вид:
p
,
dmn
где m — мантисса числа; р — порядок; d — основание системы счисления.
Приведём пример записи числа в нормальной форме:
2
10541.1 n
.
Порядок p изменяет местоположение точки в мантиссе. В зависимо­сти от значения порядка p точка перемещается (плавает) по мантиссе. На­пример, пусть m = 0.3, основание системы счисления d = 10, а порядок p будем брать разным:
3221
.300103.0;30103.0;003.0103.0;03.0103.0
Рассматриваемая форма представления чисел называется формой с плавающей точкой. Из приведённого примера видно, что благодаря изме­нению порядка точка перемещается (плавает) по мантиссе. При этом если порядок отрицательный, точка смещается по мантиссе влево, а если поло­жительный, то - вправо.
В нормальной форме машинное слово делится на два поля. В одном поле записывается мантисса числа, а во второ числа. Следующий ри
сунок иллюстрирует форму числа с плавающей точ-
м — указывается порядок
кой на примере 32-х разрядного машинного слова.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]