- •Міністерство освіти і науки україни державний вищий навчальний заклад
- •Курсова робота
- •Міністерство освіти і науки україни державний вищий навчальний заклад
- •Завдання
- •Розділ і постановка задачі
- •1.2 Додавання
- •1.3 Віднімання
- •1.4 Множення
- •1.5 Ділення
- •2.2 Методи обчислення даних
- •2.2.1 Додавання
- •Deystvie
Розділ і постановка задачі
Характеристика задачі
Суть завдання полягає в розробці програми, яка автоматизовує процес арифметичних операцій над двійковими числами.
При виконанні арифметичних операцій над двійковими числами необхідно враховувати знак числа. З цією метою вводиться додатковий знаковий розряд z, що, звичайно, розташовується перед числовими розрядами.
Для позитивних чисел значення знакового розряду z = 0, для негативних чисел z = 1.
1.2 Додавання
Додавання двійкових кодів робиться побітний на основі наступних
співвідношень: 0+0=0; 0+1=1; 1+0=1; 1+1=0 і 1 - в перенесення(в результаті 10).
Наприклад:
1 перенесення |
111 перенесення |
+9 +1001 |
+7 +0111 |
5 0101 |
1 0001 |
14 1110 |
8 1000 |
1.3 Віднімання
Цю дію можна виконувати так само як і в десяткових кодах, займаючи 1
старшого розряду(робити позику):
1 займ |
- 10 -1010 |
5 0101 |
5 0101 |
Але для багаторозрядних кодів процедура дуже ускладнюється, коли
доводиться займати не з сусіднього старшого розряду, а з більше старших розрядів. Тому в цифровій техніці вводиться поняття додаткового коду, який дозволяє абсолютно однаково виконувати операції складання і віднімання.
Для вказівки знаку коду використовується самий старший його розряд. У позитивному коді старший розряд дорівнює нулю, а в негативному - одиниці.
Розглянемо різні ситуації при відніманні.
1) Вичислимо в двійкових кодах результат операції 7-5 = 7(- 5).
Визначимо додатковий код - 5 = -00000101пр = 11111011доп.
Тоді 710-510 = 00000111доп+11111011доп = 1.00000010доп = 00000010пр = 210
Виникле перенесення 1 в розряд D8 відкидається. Знаковий розряд D7 =
0, тому результат - позитивне число 2, у якого прямий код такий же, як і додатковий.
2) Визначимо результат операції 510-710 = 00000101пр-00000111пр = 00000101доп+11111001доп = 11111110доп = -00000010пр=-210
Тут D7 = 1, результат негативний, тому додатковий код переводиться в
прямій. Це виконується за тим же правилом, що і переклад прямого коду в
додатковий.
3) Знайдемо -510-710 = 11111011доп+11111001доп=1.11110100доп = -
00001100пр = - 1210.
1.4 Множення
Операція виконується також як і для десяткових кодів: множене множиться на кожен розряд множника і результати складаються і зрушенням.
Можна множити, починаючи з молодших розрядів із зрушенням вліво, або із старших із зрушенням управо.
610*710 111 111
*110 *110
000 111
111 111
*111 *000
1010102 = 4210 101010
Числа зі знаком множаться в прямому коді, а знак визначається як сума
по модулю 2 знакових розрядів.
1.5 Ділення
Виконується як віднімання із зрушенням. Наприклад:
18:3=3 22:4 = 5,5
10010: 110 10110: 100
-110 11 -100 101,1
110 110
-110 -100
000 10,0
-100
000
Тут дробова частина представляє негативні міри числа 2.
1.6 Вхідна інформація
Вхідними даними є позитивні та негативні n-розрядні числа у двійковій системи.
Двійкова система числення - позиційна система числення з основою 2 називається двійковою.
Для запису числа в двійковій системі використовуються дві цифри – «0» і «1». Будь-яке число в двійковій системі числення представляється у вигляді :
N = an * 2n + an-1 * 2n-1 + … a1 * 21 + a0 * 20.
де: N - основа двійкової системи числення;
a0 … a0 одне із значень «0» або «1»;
n - 0, 1, 2, 3, 4, 5….
Арифметичні дії в двійковій системі виконуються за правилами, які нам відомі з десяткової арифметики, але при цьому використовуються таблиці складання, віднімання і множення двійкової системи.
Кожна з них складається з 4 рядків:
0 + 0 = 0 |
0 - 0 = 0 |
0 * 0 = 0 |
0 + 1 = 1 |
1 - 0 = 1 |
0 * 0 = 0 |
1+ 0 = 1 |
1 - 1 = 0 |
1 * 0 = 0 |
1 + 1 = 1 |
1 - 1 = 1 |
1 * 1 = 1 |
1.7 Вихідна інформація
Вихідними даними являються результатом арифметичних дій над двійковими числами у вигляді позитивних (z = 0) та негативних (z = 1) n-розрядних чисел.
Отже, створення програми двійкової арифметики є актуальною та необхідною для студентів та викладачів факультету інформаційних технологій.
Задачами курсового проекту являється:
Розробка методів розв’язання задачі;
Розробка алгоритму вирішення задачі;
Вибір середовища розробки;
Проектування та розробка основних класів;
Створення та тестування програми;
Розробка експлуатації.
РОЗДІЛ II РОЗРОБКА АЛГОРИТМУ РОЗВ’ЯЗАННЯ ЗАДАЧІ
2.1 Розробка методів розв’язання задачі
Методи вирішення завдань, засновані на зведенні їх до пошуку, залежать від особливостей предметної області, в якій вирішується завдання, і від вимог, що пред'являються користувачем до рішення.
Електронно-обчислювальна машина зберігає та обробляє дані у двійковій системі. Вільне володіння двійкової арифметикою, знання способу зображення даних у пам’яті надзвичайно важливо для всього подальшого навчання.
Особливості предметної області:
Числа варто розглядати так і двійковій так в десятковій системах, для зручності роботи із двійковими числами;
Двійкові числа представляються у вигляді 0 та 1;
Кількість вхідних даних обмежена до двух чисел;
Точність та повнота даних;
Існуючі методи обчислення даних: додавання, віднімання, множення та ділення;
Властивості результату: обмеження, яким повинен задовольняти отриманий результат і (або) способом його отримання;
Передбачається, що перераховані методи при необхідності повинні об'єднуватися для того, щоб дозволити вирішувати завдання, складність яких зростає одночасно за кількома параметрами.
