- •Курсовая работа по дисциплине «Вычислительные машины, системы и сети»
- •Ишимбай 2007
- •1. Арифметические операции с числами в различных системах счисления.
- •2. Написание и отладка управляющей программы на языке Ассемблер.
- •3. Проектирование участка локальной сети.
- •4. Список использованной литературы.
М
инистерство
общего и профессионального образования
Российской Федерации
Уфимский Государственный Авиационный Технический Университет
Кафедра Информатики
Курсовая работа по дисциплине «Вычислительные машины, системы и сети»
Вариант 25.
|
Группа |
АТП-308 |
|
|
|
Студент |
|
|
Шарипов Д.В. |
|
|
(подпись) |
(дата) |
(фамилия и. о.) |
|
Консультант |
|
|
Каримов Р.Р. |
|
Принял |
|
|
Каримов Р.Р. |
Ишимбай 2007
Содержание
|
1. Арифметические операции с числами в различных системах счисления |
3 |
|
2. Написание и отладка управляющей программы на языке Ассемблер |
8 |
|
3. Проектирование участка локальной сети |
13 |
|
4. Список использованной литературы |
17 |
1. Арифметические операции с числами в различных системах счисления.
Выполним сложение чисел 365348 и 12768 в восьмеричной системе счисления:
|
+ |
3 |
6 |
5 |
3 |
4 |
|
|
1 |
2 |
7 |
6 | |
|
|
4 |
0 |
0 |
3 |
2 |
Выполним проверку найденного результата. Для этого переведем заданные числа из восьмеричной в двоичную систему счисления. Для перевода восьмеричного числа в двоичную форму достаточно заменить каждую цифру этого числа соответствующим трехразрядным двоичным числом (триадой).
|
3 |
6 |
5 |
3 |
48 |
= |
111101010111002 |
|
011 |
110 |
101 |
011 |
100 |
| |
|
1 |
2 |
7 |
68 |
= |
10101111102 |
|
001 |
010 |
111 |
110 |
| |
Для получения модифицированного дополнительного кода необходимо задать основу кода, т.е. количество разрядов, отведенных для представления числа. Возьмем за основу кода полуслово, т.е. 16-разрядный формат представления числа. Тогда заданные числа примут вид:
|
00111101010111002 |
=365348 |
|
00000010101111102 |
=12768 |
Модифицированный дополнительный код положительного числа совпадает по изображению с записью самого числа. При этом под знак числа отводятся два старших разряда, которые равны комбинации «00». С учетом этого и того, что заданные числа являются положительными, модифицированные дополнительные коды заданных чисел имеют вид:
|
00,11110101011100 |
|
00,00001010111110 |
Здесь запятой отделены знаковые разряды от цифровых.
Осуществим сложение
заданных чисел в модифицированных
дополнительных кодах:
|
+ |
0 |
0, |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
0 |
0, |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 | |
|
|
0 |
1, |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
Комбинация
«01» в знаковых разрядах означает, что
произошло переполнение (в данном случае
положительное) и получившийся результат
неверный. Для получения правильного
результата необходимо увеличить число
разрядов в кодах и повторить суммирование.
Возьмем 17 за основу кодов и повторим
суммирование:
|
+ |
0 |
0, |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
0 |
0, |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 | |
|
|
0 |
0, |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
Так как в знаковых разрядах комбинация «00», то переполнения нет, следовательно, полученный результат – верный. Переведем полученный результат из двоичной в восьмеричную систему счисления. Для этого, двигаясь от младшего разряда в сторону старшего разряда, разобьем двоичное число на группы по три разряда, дополнив при необходимости нулями крайнюю левую группу:
![]()
Сравнивая результат, полученный сложением заданных чисел в восьмеричной системе счисления, с результатом, полученным сложением в модифицированных дополнительных кодах, делаем вывод, что сложение выполнено правильно.
Выполним вычитание чисел 365348 и 12768 в восьмеричной системе счисления:
|
- |
3 |
6 |
5 |
3 |
4 |
|
|
1 |
2 |
7 |
6 | |
|
|
3 |
5 |
2 |
3 |
6 |
Выполним проверку найденного результата. Для этого сложим заданные числа в модифицированных дополнительных кодах с учетом того, что второе слагаемое будет отрицательным:
|
+ |
0 |
0, |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
365348 |
|
1 |
1, |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
-12768 | |
|
1 отбрасывается |
0 |
0, |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
|
Так как в знаковых разрядах комбинация «00», то переполнения нет, следовательно, полученный результат – верный. Переведем полученный результат из двоичной в восьмеричную систему счисления:
![]()
Сравнивая
результат, полученный вычитанием
заданных чисел в восьмеричной системе
счисления, с результатом, полученным
вычитанием в модифицированных
дополнительных кодах, делаем вывод, что
вычитание выполнено правильно.
Выполним умножение чисел 365348 и 12768, переведя их в двоичную систему счисления:
|
* |
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 | |
|
|
|
|
|
|
|
|
+ |
|
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
+ |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
| |
|
|
|
|
|
|
+ |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
| |
|
|
|
|
|
+ |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
| |
|
|
|
+ |
|
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
| |
|
+ |
|
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
| |
|
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
| |
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
Переведем полученный результат из двоичной обратно в восьмеричную систему счисления:
![]()
Для проверки полученного результата перемножим заданные числа в десятичной системе счисления, а результат переведем в восьмеричную систему счисления.
Перевод чисел из восьмеричной системы счисления в десятичную осуществляется путем составления степенного ряда с основанием 8 и дальнейшим нахождением его суммы:

Перевод числа из десятичной системы счисления в восьмеричную осуществляется последовательным делением десятичного числа на 8 до тех
пор, пока не получится частное меньшее 8. Число в восьмеричной системе записывается в виде остатков деления, начиная с последнего:
|
11027016 |
8 |
|
|
|
|
|
|
|
11027016 |
1378377 |
8 |
|
|
|
|
|
|
0 |
1378376 |
172297 |
8 |
|
|
|
|
|
|
1 |
172296 |
21537 |
8 |
|
|
|
|
|
|
1 |
21536 |
2692 |
8 |
|
|
|
|
|
|
1 |
2688 |
336 |
8 |
|
|
|
|
|
|
4 |
336 |
42 |
8 |
|
|
|
|
|
|
0 |
40 |
5 |
|
|
|
|
|
|
|
2 |
|
Сравнивая
результат, полученный умножением
заданных чисел в двоичной системе
счисления, с результатом, полученным
умножением заданных чисел в десятичной
системе счисления с последующим его
переводом в восьмеричную систему, делаем
вывод, что умножение выполнено правильно.
Выполним деление
чисел 365348
и 12768,
переведя их в двоичную систему счисления.
Ограничимся точностью
:
|
- |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
1 |
0 |
1 |
1 |
0. |
0 |
1 |
0 |
|
| |
|
|
- |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
- |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
- |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
Переведем полученный результат из двоичной обратно в восьмеричную систему счисления:
![]()
Таким образом,
![]()
Для проверки полученного результата разделим заданные числа в десятичной системе счисления, а результат переведем в восьмеричную систему счисления:
![]()
Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную. Переведем целую часть:
|
- |
2 |
2 |
8 |
|
1 |
6 |
2 | |
|
|
|
6 |
|
Для перевода дробной части десятиного числа в восьмеричную систему счисления надо последовательно умножать ее на 8. При этом умножается только дробная часть. Дробная часть десятичного числа в восьмеричной системе записывается в виде целых частей произведений, начиная с первого:
|
0 |
|
|
2 |
4 |
Таким образом, 2210=268, 0.310=0.28, 22.310=26.28
Сравнивая результат,
полученный делением заданных чисел в
двоичной системе счисления, с результатом,
полученным делением заданных чисел в
десятичной системе счисления с последующим
его переводом в восьмеричную систему,
делаем вывод, что деление выполнено
правильно.


