Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретичні довідка до ПР1.doc
Скачиваний:
22
Добавлен:
05.02.2016
Размер:
294.4 Кб
Скачать

Двійкова алгебра. Форми представлення чисел в пк

В пам’яті ПК двійкові числа зберігаються в регістрах, що складаються з 8 комірок, тобто мінімальне двійкове число, яке можна розмістити в пам’яті, повинно бути восьмирозрядним. При цьому в незаповнених комірках регістра (в старших розрядах) записуються нулі.

На відміну від десяткової системи в двійковій системі числення відсутні спеціальні символи, що позначають знак числа: додатній (+) або від’ємний (-), тому для представлення двійкових від’ємних чисел використовуються наступні дві форми.

Форма числа зі знаком— старший (лівий) розряд позначається якзнаковий і містить інформацію тільки про знак числа:

1 — число від’ємне;

0 — число додатне.

Решта розрядів відводиться під абсолютну величину числа. Наприклад:

510= 000001012 та -510= 1000 01012.

Форма оберненого додаткового коду, перетворення в яку виконуєтьсяза таким алгоритмом:

  1. записати число у формі числа зі знаком;

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

  3. додати одиницю до одержаного коду;

  4. відновити одиницю в знаковому розряді. Перетворення числа

-510=10000101 →1111010 + 1→111 1011→1111 10112.

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

Основні властивості додаткових кодів:

  1. Додатковий код додатнього числа — саме число.

  1. Перетворення додаткового коду по наведеному алгоритмуперетворення приводить до первинного виду числа в знаковій формі.

Правила виконання арифметичних операцій в двійковій системі числення

Додавання. Операція додавання виконується так само, як і в десятковійсистемі. Переповнення розряду приводить до появи одиниці в наступному (вищому) розряді. Слід пам’ятати, що 0+0=0, 0+1=1, 1+1=10. Тоді:

Frame4

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

Алгоритм операції віднімання шляхом додавання додаткових кодів:

1) перетворити від’ємне число з форми зі знаком в додатковий код;

  1. виконати операцію двійкового складання над всіма розрядами, включаючи знаковий, ігноруючи одиницю перенесення з найвищого розряду;

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

13-15=13+(-15)

-1510=10001111→1110000+1→1110001→ 11100012

Frame5

1310=000011012

11111110→0000001+1→100000102= -2 .

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

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

Множення. Якщо разом з перерахованими операціями виконатиоперації зсуву, то за допомогою суматора можна виконати і множення, яке зводиться до серії повторних додавань. Якщо цифра в нульовій позиції множника дорівнює 1, то множене переписується під відповідними розрядами, множення на подальшіодиниці приводять до зсуву доданку вліво на одну позицію. Якщо цифра множника дорівнює 0, то наступний доданок зміщується на дві позиції вліво. Це характерно і для десяткової системи числення. Наприклад:

1510.1310=19510=110000112.

Врахуємо, що 1510=000011112, а1310=000011012.

Т

х 00001111

00001101

00001111

+00001111 ___+00001111_____

00011000011

оді виконаємо множення цих двійкових чисел:

Д

000110000111111

+11110001 1101

00010010

+ 11110001

00001111

+ 11110001

00000000

ілення. При виконанні операції ділення кілька разів проводиться операція віднімання.Тому заздалегідь слід знайти додатковий код дільника.Ділення виконується шляхом повторного віднімання і зсуву. Для прикладу виконаємо ділення числа 195 на 15 або в двійковій системі 110000112 на 000011112. Додатковий код числа 00001111 → 11110001. Оскільки за правилами ділення кожне проміжне ділене повинно бути більше дільника, вибираємо як перше ділене число 11000, тобто перші п’ять розрядів, і додаємо зліва три нулі, доповнюючи ділене до 8 розрядів. Потім проводимо додавання до нього додаткового коду дільника і заносимо в частку одиницю. Якщо наступне ділене після зносу чергової цифри буде менше дільника, то в результат заноситься нуль і в ділене зноситься ще одна цифра з початкового діленого. Наприклад:

Ділене 111 на третьому кроці після додавання і знесення чергового розряду менше дільника, тому записуємо в результат 0 і зносимо ще один розряд з тих, що залишилися в діленому. Після третього кроку результат додавання дорівнює 0,діленнязавершено.

Відповідь: 000011012= 1310.