Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой-Гаврищук-Д_А=04032017.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
91 Кб
Скачать
☆

Розділ і постановка задачі

    1. Характеристика задачі

Суть завдання полягає в розробці програми, яка автоматизовує процес арифметичних операцій над двійковими числами.

При виконанні арифметичних операцій над двійковими числами необхідно враховувати знак числа. З цією метою вводиться додатковий знаковий розряд 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-розрядних чисел.

Отже, створення програми двійкової арифметики є актуальною та необхідною для студентів та викладачів факультету інформаційних технологій.

Задачами курсового проекту являється:

  1. Розробка методів розв’язання задачі;

  2. Розробка алгоритму вирішення задачі;

  3. Вибір середовища розробки;

  4. Проектування та розробка основних класів;

  5. Створення та тестування програми;

  6. Розробка експлуатації.

РОЗДІЛ II РОЗРОБКА АЛГОРИТМУ РОЗВ’ЯЗАННЯ ЗАДАЧІ

2.1 Розробка методів розв’язання задачі

Методи вирішення завдань, засновані на зведенні їх до пошуку, залежать від особливостей предметної області, в якій вирішується завдання, і від вимог, що пред'являються користувачем до рішення.

Електронно-обчислювальна машина зберігає та обробляє дані у двійковій системі. Вільне володіння двійкової арифметикою, знання способу зображення даних у пам’яті надзвичайно важливо для всього подальшого навчання.

Особливості предметної області:

    • Числа варто розглядати так і двійковій так в десятковій системах, для зручності роботи із двійковими числами;

    • Двійкові числа представляються у вигляді 0 та 1;

    • Кількість вхідних даних обмежена до двух чисел;

    • Точність та повнота даних;

    • Існуючі методи обчислення даних: додавання, віднімання, множення та ділення;

    • Властивості результату: обмеження, яким повинен задовольняти отриманий результат і (або) способом його отримання;

    • Передбачається, що перераховані методи при необхідності повинні об'єднуватися для того, щоб дозволити вирішувати завдання, складність яких зростає одночасно за кількома параметрами.