Здавалка
Главная | Обратная связь

Тема. Арифметика у різних системах числення



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

При запису коду числа знак числа будемо представляти напівжирними цифрами 0 ( для позитивних чисел) та 1 ( для негативних чисел). Положення точки у числі показувати не будемо.

Додавання позитивних двійкових чисел. Виконання цієї операції покажемо на прикладі:

переноси

Перший доданок N1 0 0 1 0 0 1

Другий доданок N2 +0 +0 +1 +0 +0 +1

Сума N = N1 + N2 0 1 0 1 1 0

Цифри розрядів суми N = N1 + N2 формуються послідовно , починаючи з молодшого розряду. Цифра молодшого розряду суми утворюється підсумовуванням цифр молодших розрядів доданків . При цьому , крім цифри розряду суми , формується цифра переносу в наступний , більш старший розряд. Таким чином , в розрядах , починаючи з другого , підсумовуються три ціфри6 цифри відповідного розряду доданків і перенесення , що надходить у даний розряд з попереднього.

Перенесення дорівнює 1 у всіх випадках , коли результат підсумовування цифр в розряді дорівнює або більше р = 2 ( р - основа системи числення ) . При цьому в розряд суми записується цифра , на р. одиниць (тобто на дві одиниці ) менша результату підсумовування.

Алгебраїчне додавання з використанням додаткового коду. Для пояснення сутності викладається нижче методу розглянемо наступний приклад. Нехай потрібно скласти два десяткових числа N1 = 0831 і N2 = 1 376. Так як другий доданок - негативне число , шуканий результат може бути отриманий і з використанням послідовності дій з передачею переносів у старші розряди , яка використовується при додаванні позитивних чисел. Для цього достатньо негативне число 1376 попередньо перетворити в так званий додатковий код наступним чином : у всіх розрядах , крім знакового , запишемо додаток до 9 до цифр цих розрядів і потім додамо одиницю в молодший розряд. Число N2 = 1376 в додатковому коді є N2 доп = 1 624.

Далі зробимо додавання за правилами складання з передачею пере - носів у старші розряди (тобто так , як складаються позитивні числа ) :

 

Переноси 1 січня

 

Перший доданок N1 0 8 1 березня

+

Другий доданок N2 доп 6 січня 4 Лютого

Сума N = N1 + N2 0 4 5 5

 

При додаванні складаються та виконавчі цифри знакових розрядів з відкиданням що виникає з цього розряду переносом. Як бачимо , отриманий правильний результат ( дійсно 831 - 376 = 455).

У двійковій системі числення додатковий код негативного числа формується за наступним правилом: інвертуються (шляхом заміни 0 на 1 і 1 на 0 ) цифри усіх розрядів , крім знакового , і в молодший розряд додається одиниця . Наприклад , якщо N = 1 10110 , Nдоп = 1 01010 . Зворотне перетворення з додаткового коду в прямий код проводиться за тим же правилом .

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

Двійкові представлення десяткових цифр підсумовуються за звичайними правилами додавання двійкових чисел. Якщо отримана сума містить десять або більше одиниць , то формується одиниця переносу , передана в наступний десятковий розряд , а із суми віднімаються десять одиниць. Отриманий результат є цифра відповідного розряду суми. Наявність в отриманій сумі десяти або більше одиниць виявляється за такими ознаками : поява перенесення з розряду 8 , що виникає при підсумовуванні цифр ; наявність одиниць одночасно в розрядах 8 і 4 або 8 і 2 в отриманій сумі . При цьому потрібна корекція суми додаванням до неї шести одиниць (числа 01102 ) .

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

Визначення знака твори . Знаковий розряд твору може бути отриманий підсумовуванням знакових розрядів співмножників без формування переносу ( так званим підсумовуванням за модулем 2). Дійсно , при збігу цифр знакових розрядів співмножників (0 ... і 0 ... , або 1 ... і 1 ... ) їх сума за модулем 2 дорівнює 0, тобто відповідає знакової розряду твори двох співмножників , що мають однакові знаки; при розбіжності цифр знакових розрядів ця сума буде дорівнює 1 , що також відповідає знакової розряду твори двох співмножників з різними знаками .

Визначення абсолютного значення твору. Абсолютне зна-чення твору виходить шляхом перемноження чисел без урахування їх зна- ков.

Зробимо множення чисел 11012 і 10112 .

 

1 1 0 1 множимое

х

1 0 1 1 множник

1 1 0 1 1-е часткове твір

1 1 0 1 2-е часткове твір

0 0 0 0 3-е часткове твір

1 1 0 1_______ 4-е часткове твір

1 0 0 0 1 1 1 1 твір

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

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

При множенні цілих чисел для фіксації твору в розрядної сітці має передбачатися число розрядів , рівне сумі числа розрядів множника і множимо.

При виконанні операції множення з підсумовуванням часткових творів , починаючи з молодшого часткового твори , якщо потрібно зберігати всі розряди в творі , то в пристрої , формуючому твір , необхідно мати число розрядів , рівне сумі числа розрядів множника і множимо. При множенні дрібних чисел часто у творі потрібно зберігати те ж число розрядів , що і в множимо . У такому наближеному представленні результату не фіксуються цифри розрядів , висунуті правіше при зрушення . Таким чином , цифри чотирьох молодших розрядів виявляться втраченими . Може бути проведене округлення за правилом: якщо старший з відкидаються результатів містить одиницю , то до молодшому з зберігаються розрядів додається одиниця . Одним з ефективних алгоритмів множення є алгоритм Бута. Він не передбачає окремих операцій над знаковими розрядами і модулями співмножників . При виконанні дій за цим алгоритмом в одержуваному результаті утворюється твір із знаковою розрядом .

Ділення двійкових чисел. Будемо розглядати операцію алгебраїчного додавання чисел , представлених у формі з фіксованою крапкою. При цьому виконання операцій містить дії, пов'язані з визначенням приватного , і дії , пов'язані з визначенням модуля приватного . Знак приватного може бути знайдений тим же прийомом , що і знак твори в розглянутій вище операції множення з відділенням знакових розрядів. Тому нижче розглядається тільки перебування модуля приватного . На прикладі ця операція виглядає так . Нехай після відділення знакових розрядів модулі діленого і дільника представляються відповідно числами а = 0,10010 і в = 0,10110 .

Зустрічається операцію віднімання числа замінимо додатком числа - в , представленого в додатковому коді ( - в) доп = 1,01010 .

 

а 0 , 1 0 0 1 0 0 , 1 0 1 1 0

+ ____________

( - в ) доп 1 , 0 1 0 1 0 з <0 0 , 1 1 0 1 0 приватна

з 1 , 1 1 1 0 0

 

Зрушення вліво 1 , 1 1 0 0 0

+

в 0 , 1 0 1 1 0 с> 0

з 0, 0 1 1 1 0

 

Зрушення вліво 0 , 1 1 1 0 1

+

( - в ) доп 1 , 0 1 0 1 0 с> 0

з 0, 0 0 1 1 0

 

Зрушення вліво 0 , 0 1 1 0 0

+

( - в ) доп 1 , 0 1 0 1 0 з <0

з 1 , 1 0 1 1 0

 

Зрушення вліво 1 , 0 1 1 0 0

+

в 0 , 1 0 1 1 0 с> 0

з 0, 0 0 0 1 0

 

зрушення вліво 0 , 0 0 1 0 0

+

( - в ) доп 1 , 0 1 0 1 0 з <0

з 1 , 0 1 1 1 0

 

СРС № 47







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.