Операції над числами у системі числення. Арифметичні дії у різних системах числення

Жарознижувальні засоби для дітей призначаються педіатром. Але бувають ситуації невідкладної допомоги за лихоманки, коли дитині потрібно дати ліки негайно. Тоді батьки беруть на себе відповідальність і застосовують жарознижувальні препарати. Що можна давати дітям грудного віку? Чим можна збити температуру у старших дітей? Які ліки найбезпечніші?

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

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

При складанні двох одиниць відбувається переповнення розряду і здійснюється перенесення одиниці у старший розряд, при відніманні 0–1 виробляється позика з старшого розряду, у таблиці «Віднімання» ця позика позначена 1 з рисою над цифрою (Таблиця 3).

Таблиця 3

Нижче наведено приклади виконання арифметичних операцій над числами, представленими у різних системах числення:

Арифметичні операції над цілими числами, представленими у різних системах числення, досить легко реалізуються за допомогою програм Калькулятор та MS Excel.

1.3. Подання чисел у комп'ютері

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

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

Таблиця 4

Максимальне значення цілого невід'ємного числа, яке може зберігатися в регістрі у форматі з фіксованою комою, можна визначити з формули: 2n – 1 де n – число розрядів числа. Максимальне число при цьому дорівнюватиме 28 – 1 = 25510 = 111111112 і мінімальне 010 = 000000002. Таким чином, діапазон зміни цілих невід'ємних чисел перебуватиме в межах від 0 до 25510.

На відміну від десяткової системи у двійковій системі числення при комп'ютерному поданні двійкового числа відсутні символи, що позначають знак числа: позитивний (+) або негативний (-), тому для представлення цілих чисел зі знаком у двійковій системі використовуються два формати представлення числа: формат значення числа зі знаком та формат додаткового коду. У першому випадку для зберігання цілих чисел зі знаком відводиться два регістри пам'яті (16 біт), причому старший розряд (крайній зліва) використовується під знак числа: якщо число позитивне, то знаковий розряд записується 0, якщо число негативне, то - 1. Наприклад , Число 53610 = 00000010000110002 буде представлено в регістрах пам'яті в наступному вигляді:

Таблиця 5

а від'ємне число -53610 = 10000010000110002 у вигляді:

Таблиця 6

Максимальне позитивне число або мінімальне негативне у форматі значення числа зі знаком (з урахуванням представлення одного розряду під знак) дорівнює 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 11111111111111112 і діапазон чисел перебуватиме в межах 3276710 до 32767.

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

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

1) модуль числа записати прямим кодом у n (n = 16) двійкових розрядах;

2) одержати зворотний код числа (інвертувати всі розряди числа, тобто всі одиниці замінити на нулі, а нулі – на одиниці);

3) до отриманого зворотного коду додати одиницю молодшого розряду.

Наприклад, для числа -53610 у такому форматі модуль дорівнюватиме 00000010000110002, зворотний код – 11111110111100111, а додатковий код – 1111110111101000.

Необхідно пам'ятати, що додатковий код позитивного числа – саме число.

Для зберігання цілих чисел зі знаком крім 16-розрядного комп'ютерного уявлення, коли використовуються два регістри пам'яті(Такий формат числа називається також форматом коротких цілих чисел зі знаком), застосовуються формати середніх і довгих цілих чисел зі знаком. Для представлення чисел у форматі середніх чисел використовують чотири регістри (4 х 8 = 32 біт), а представлення чисел у форматі довгих чисел – вісім регістрів (8 х 8 = 64 біта). Діапазони значень для формату середніх та довгих чисел будуть відповідно рівними: -(231 – 1) … + 231 – 1 та -(263-1) … + 263 – 1.

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

Речові числа (кінцеві та нескінченні десяткові дроби) обробляються та зберігаються у комп'ютері у форматі з плаваючою комою. При такому форматі представлення числа положення коми в записі може змінюватися. Будь-яке речове число К у форматі з плаваючою комою може бути представлене у вигляді:

де А – мантиса числа; h – основа системи числення; p - Порядок числа.

Вираз (2.7) для десяткової системи числення набуде вигляду:

для двійкової -

для вісімкової -

для шістнадцяткової -

Така форма представлення числа також називається нормальною . Зі зміною порядку кома в числі зміщується, тобто як би плаває вліво або вправо. Тому нормальну форму подання чисел називають формою з плаваючою комою. Десяткове число 15,5, наприклад, у форматі з плаваючою комою може бути представлене у вигляді: 0,155 · 102; 1,55 · 101; 15,5 · 100; 155,0 · 10-1; 1550,0 · 10-2 і т. д. Ця форма запису десяткового числа 15,5 з плаваючою комою не використовується при написанні комп'ютерних програмі введення в комп'ютер (пристрою введення комп'ютерів сприймають лише лінійну запис даних). Виходячи з цього вираз (2.7) для подання десяткових чисел і введення їх у комп'ютер перетворюють на вигляд

де Р - порядок числа,

тобто замість заснування системи числення 10 пишуть букву Е, замість коми - точку, і знак множення не ставиться. Таким чином, число 15,5 у форматі з плаваючою комою та лінійного запису (комп'ютерне подання) буде записано у вигляді: 0.155Е2; 1.55Е1; 15.5Е0; 155.0Е-1; 1550.0Е-2 і т.д.

Незалежно від системи числення будь-яке число у формі з плаваючою комою може бути представлене безліччю чисел. Така форма запису називається ненормалізованою . Для однозначного подання чисел з плаваючою комою використовують нормалізовану форму запису числа, за якої мантиса числа повинна відповідати умові

де |А| - Абсолютне значення мантиси числа.

Умова (2.9) означає, що мантиса має бути правильним дробом і мати після коми цифру, відмінну від нуля, або, іншими словами, якщо після коми в мантисі стоїть не нуль, то число називається нормалізованим. Так, число 15,5 у нормалізованому вигляді (нормалізована мантиса) у формі з плаваючою комою виглядатиме таким чином: 0,155 · 102, тобто нормалізована мантиса буде A = 0,155 і порядок Р = 2, або в комп'ютерному поданні числа 0.155Е2 .

Числа у формі з плаваючою комою мають фіксований формат і займають у пам'яті комп'ютера чотири (32 біти) або вісім байт (64 біти). Якщо число займає у пам'яті комп'ютера 32 розряду, це число звичайної точності, якщо 64 розряду, це число подвійний точності. При записі числа з плаваючою комою виділяються розряди зберігання знака мантиси, знака порядку, мантиси і порядку. Кількість розрядів, що відводиться під порядок числа, визначає діапазон зміни чисел, а кількість розрядів, відведених для зберігання мантиси, – точність, з якою визначається число.

При виконанні арифметичних операцій (складання та віднімання) над числами, представленими у форматі з плаваючою комою, реалізується наступний порядок дій (алгоритм):

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

2) виконуються арифметичні операції над мантисами чисел;

3) провадиться нормалізація отриманого результату.

Додавання та віднімання

У системі з основою для позначення нуля і перших с-1 натуральних чисел служать цифри 0, 1, 2, ..., с - 1. Для виконання операції додавання та віднімання складається таблиця додавання однозначних чисел.

Таблиця 1 - Додавання в двійковій системі

Наприклад, таблиця додавання в шестеричній системі числення:

Таблиця 2 - Додавання в шестеричній системі

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

Наприклад,

Можна обґрунтувати зазначене правило додавання чисел, використовуючи подання чисел у вигляді:

Розберемо один із прикладів:

3547=3*72+5*71+4*70

2637=2*72+6*71+3*70

(3*72+5*71+4*70) + (2*72+6*71+3*70) =(3+2)*72+(5+6)*7+(3+4)=

5*72+1*72+4*7+7=6*72+4*7+7=6*72+5*7+0=6507

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

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

Наприклад,

Множення та розподіл

Для виконання дій множення та поділу в системі з основою складається таблиця множення однозначних чисел.

Таблиця 3 - Збільшення однозначних чисел

Таблиця 4 - Розмноження в шестеричній системі числення

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

Наприклад,

При множенні багатозначних чисел у проміжних результатах індекс основи не ставиться:

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

Наприклад:


Переведення чисел з однієї системи числення до іншої

існує багато різних способівпереведення чисел з однієї системи числення до іншої.

Спосіб розподілу

Нехай надано число N=an an-1. . . a1 а0 р.

Для отримання запису числа N у системі з основою h слід подати його у вигляді:

N=bmhm+bm-1hm-1+... +b1h+b0 (1)

де 1

N=bmbm-1... b1boh (2)

З (1) отримуємо:

N = (bmhm-1 + ... + b) * h + b0 = N1h + b0, де 0? b0? h (3)

Тобто, цифра b0 є залишком від поділу числа N на число h. Неповне приватне Nl = bmhm-1+. . . +b1 представимо у вигляді:

Nl = (bmhm-2 + ... + b2) h + b1 = N2h + b1 де 0? b2? h (4)

Таким чином, цифра bi у записі (2) числа N є залишком від поділу першого неповного приватного N1 на підставу нової системи числення h. Друге неповне приватне N2 представимо у вигляді:

N2 = (bmhm-3+...+b3)h+b2, де 0? b2? h (5)

тобто цифра b2 є залишком від поділу другого неповного приватного N2 на підставу нової системи h. Так як не повні приватні зменшуються, то цей процес скінчен. І тоді ми отримуємо Nm = bm, де bm

Nm-1 = bmh + bm.1 = Nmh + bm.1

Таким чином, послідовність цифр bm, bm-1. . ,b1,b0 у запису числа N у системі числення з основою h є послідовність залишків послідовного розподілу числа N на основу h, взята у зворотній послідовності.

Розглянемо приклад: Виконати переведення числа 123 у шістнадцяткову систему числення:

Таким чином, число 12310 = 7 (11) 16 або можна записати як 7B16

Запишемо число 340227 у п'ятирічній системі числення:

Таким чином, отримуємо, що 340227 = 2333315

СИСТЕМИ ЗЛІЧЕНЬ

Загальні відомості

Короткий огляд. Основні терміни та поняття

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

Існує багато систем числення, які можна розбити на 2 види: непозиційні та позиційні.

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

I, IX, XXI, LXI, XLII – символом “I” у всіх наведених числах закодована цифра одиниця.

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

5555 = 5000 +500 +50 +5. Отже, цифра 5 позначає 5000, 500, 50 та 5.

У десятковій системі застосовується 10 цифр (символів) для запису чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Кількість цифр (символів), що застосовуються в системі, називають її основою, отже, у нашої системи основа дорівнює 10, тому її називають десятковою. Виконаємо знову перетворення десяткового числа

5685=5*1000+6*100+8*10+5=5*10 3 +6*10 2 +8*10 1 +5*10 0

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

Крім десяткової системи існують деякі інші системи числення. Наприклад, 12-тирична застосовувалася в Росії до 1917 року. Досі збереглися вирази «дюжина», «чортова дюжина». Її досі застосовують у грошових одиницях деяких країн. На годиннику 12 чисел. 12 місяців на рік і т.д.

Можливість застосовувати різні системи численнь полягає в тому, що на носії інформації (папері, папірусі) можна записати багато різних символів і надати їм певного значення.

Способи запису інформації в комп'ютерній техніці

На носіях інформації, пов'язаних із комп'ютерною технікою, широких можливостей для запису інформації нині немає. Для запису інформації в обчислювальній техніці використовують 2 стійкі стани різних пристроїв.

На дискеті або вінчестері, які можна уявити складовими з набору елементарних магнітів, ці магніти можна повернути північним або південним полюсом до підкладки. Точка на диску може відображати або не відображати світло. На карті з щільного паперу в певному місці може бути отвір. Електричний ланцюг може проводити чи проводити струм. Лампочка може горіти чи не горіти. Одному такому стану можна надати значення 1, другому 0. Таким чином, на одному елементі пам'яті можна записати або 0 або 1.

Цей мінімальний обсяг інформації, який можна записати на таких носіях, називають біт.

Історично склалося так, що 8 носіїв інформації об'єднали в один осередок пам'яті, і кількість інформації, що записується в них, назвали байт.Таким чином 1 байт = 8 біт.
У байті можна записати 28 = 256 різних комбінацій двійкових чисел, тобто чисел що складаються тільки з двох цифр 0 і 1: 00000000, 00000001, 00000010, 00000011 . . . 11111110, 11111111.

Якщо подивитися кілька осередків пам'яті, то в них буде записано безліч нулів та одиниць. Адреси осередків пам'яті також надаються в двійковій системі. Щоб полегшити людині роботу з такою інформацією вирішили працювати з нею за правилами другої системи численнь. Числа цієї системи можна перевести в інші більш звичні та наочні для людини системи: 8-меричну, 16-тиричну, 10-тичну.

Таблиця 1.1.2

Десяткова система Двійкова система Вісімкова система Шістнадцяткова система
A
B
C
D
E
F

З таблиці 1.1.2 видно, які символи застосовуються як цифри у різних системах. Якщо використано останній допустимий символ, то в молодшому розряді пишуть 0, а у старшому 1.

Арифметичні дії в системах числення

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

Додавання

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

Наприклад 173, 261 8

16, 35 8

Восьмирічна с.с.

Над числами, записаними в будь-якій системі числення, можна виконувати різні арифметичні операції. Правила виконання цих операцій у десятковій системі добре відомі – це додавання, віднімання, множення стовпчикомі розподіл кутом. Ці правила застосовні і для всіх інших позиційних систем числення. Тільки таблицями складання та множення треба користуватисяособливимидля кожної системи.

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

Приклади з двійковими числами:

101001 101 10111 1100,01

1011 + 011 + 10110 - 0,10

110100 1000 101101 1011,11

множення

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

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

00000 + 100111

00000 + 100111

11011 + 100111

11110011 101011010001

Поділ

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

101001101 1001 − 333 9 11110 110

1001 100101 27 37 - 110 101

1001 1001000 1000

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

Процесор не вміє безпосередньо здійснювати операцію віднімання, тому віднімання доводиться зводити до додавання шляхом подання віднімається в так званому додатковому коді. Розглянемо насамперед зворотний код числа. Наприклад, 1001 (початкове число), а 0110 – зворотний код + 1 = 0111 додатковий код.

Тобто. віднімання в двійковій арифметиці – це додавання зменшуваного з додатковим кодом віднімання. Наприклад, від 101 2 відняти 10 2

1) 10 2 = 010, його зворотний код 101

2) потім збільшивши зворотний код на 1 отримаємо додатковий код 110

110 (або 5-2 = 3)

4) Зазначимо, що перенесення зі старшого результату означає, що отриманий результат позитивний

Запитання для самоконтролю

    Що називається системою числення?

    У чому відмінність позиційних систем обчислення від непозиційних?

    Як визначається процес кодування інформації та чому в ньому існує необхідність?

    Які одиниці виміру кількості інформації ви знаєте?

    Чому двійкове подання інформації входить до основних принципів роботи сучасних ЕОМ?

    Переведіть із двійкової системи числення до десяткової: 10100011 2 та 1101011 2 .

    Що таке базис природної позиційної системи числення?

    Які методи переведення чисел від однієї системи числення до іншої ви знаєте?

Додатковий матеріал

Приклад 1. Складемо числа 15 та 6 у різних системах числення.

Приклад 2. Складемо числа 15, 7 та 3.

Шістнадцяткова: F 16 +7 16 +3 16

Відповідь: 5 +7 +3 = 25 10 = 11001 2 = 31 8 = 9 16 .

Перевірка: 11001 2 = 2 4 + 2 3 + 2 0 = 16 +8 +1 = 25, 31 8 = 3 * 8 1 + 1 * 8 0 = 24 + 1 = 25, 19 16 = 1 * 16 1 + 9 * 16 0 = 16 +9 = 25.

Приклад 3. Складемо числа 141,5 та 59,75.

Відповідь: 141,5 + 59,75 = 201,25 10 = 11001001,01 2 = 311,2 8 = C9,4 16

Перевірка. Перетворимо отримані суми до десяткового виду: 11001001,01 2 = 2 7 + 2 6 + 2 3 + 2 0 + 2 -2 = 201,25 311,2 8 = 3 * 8 2 + 1 8 1 + 1 * 8 0 + 2 * 8 -1 = 201,25 C9, 4 16 = 12 * 16 1 + 9 * 16 0 + 4 * 16 -1 = 201,25

Двійкова система числення Додавання однорозрядних двійкових чисел: 0+0=0 1+0=1 0+1=1 1 + 1 = 10 Приклад 1101 + 101 -----10010

Двійкова система числення Віднімання однорозрядних двійкових чисел: 0 -0=0 1 -0=1 0 - 1 = (позика зі старшого розряду) 1 1 -1=0 Приклад: 1110 - 101 ---1001

Двійкова система числення Розмноження однорозрядних двійкових чисел: 0*0=0 1*0=0 0*1=0 1*1=1 Приклад: 1110 * 10 -----+ 0000 1110 -------11100

Двійкова система числення Поділ виконується так само як у десятковій системі числення: 1110 10 11 10 10 10 111

Виконання арифметичних операцій над двійковими числами різних порядків: - Порівнюються порядки; і вирівнюються виконується додавання або віднімання мантиси; провадиться нормалізація результату, якщо це потрібно.

Виконання арифметичних операцій над двійковими числами різних систем: Приклад. Додавання Х 1 = 0, 1001 * 2101 Х 2 = 0, 1100 * 2100 1) р = 101 -100 = 001 Х 2 = 0, 0110 * 2101 2) 0, 1001 +0, 0110 0, 1111 3) Х 1 + Х 2 = 0, 1111 * 2101

Виконання арифметичних операцій над двійковими числами різних систем: Приклад. Віднімання Х 1 = 0, 1001 * 2101 Х 2 = 0, 1100 * 2100 1) р = 101 -100 = 001 Х 2 = 0, 0110 * 2101 2) 0, 1001 -0, 0110 0, 0011 3) - Х 2 = 0, 0011 * 2101 = 0, 11 * 211

Виконання арифметичних операцій над двійковими числами різних систем: Приклад. Множення Х 1=q 1*2 p 1 Х 2=q 2*2 p 2 Х 1=10=0, 10*210 Х 2=10=0, 10*210 0, 10 *0, 10 0 00 01 0 000____ 0, 0100 X 1*X 2=q 1*q 2*2(p 1+p 2) р1+р2=10+10=100 X 1*X 2=0, 0100*2100

Виконання арифметичних операцій над двійковими числами різних систем: Приклад. Розподіл Х 1=q 1*2 p 1 Х 2=q 2*2 p 2 Х 1=0, 110=110*2 -11 Х 2=0, 10=10*2 -10 10 10 11 10 10 0 р1 -р2 = -11 - (-10) = -01 = 11 * 2 -01

У ПК використовуються такі розрядні сітки для представлення чисел: 1 байт (8 розрядів) – півслово 2 байти (16 розрядів) – слово 4 байти (32 розряди) – двійкове слово 8 байт (64 розряди) – розширене слово -310 = -112 восьмирозрядної сітці матиме вигляд: 1000011 Для кодування знака числа відводиться спеціальний розряд, що називається знаковим. Під нього відводиться старший розрядної сітки, "+" кодується 0, "-" кодується 1.

Виконання арифметичних операцій у машинних кодах дозволяє: звести операцію віднімання до операції додавання автоматично отримувати знак суми виявляти переповнення розрядної сітки

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

Види машинних кодів Зворотний код від'ємного числа виходить за допомогою заміни значень всіх цифр числа протилежні за винятком знакового розряду. 310 = 112 у прямому, додатковому та зворотному коді матиме вигляд – 0000011 -310 = -112 прямому коді матиме вигляд: 1000011 -310 = -112 зворотному коді матиме вигляд: 11111100

Види машинних кодів Додатковий код від'ємного числа виходить в результаті збільшення його зворотного коду на 1. -310 = -112 зворотному коді матиме вигляд: 11111100 -310 = -112 додатковому коді матиме вигляд:

Приклад 1. Виконання операції у зворотному коді Х 1 -Х 2=17 -5= 17+(-5)=12 [Х 1] пр=0001 [Х 2] пр=10000101 [Х 1] обр=0001 [Х 2 ] обр=11111010 При виконанні операцій у зворотному коді одиниця, яка пішла за 8 розряд, додається до молодшого розряду числа.

Приклад 2. Х 1 -Х 2 = 5 -17 = 5 + (-17) = -12 [Х 1] пр = 00000101 [Х 2] пр = 10010001 00000101 +1110 11110011 зр. 10001100= -12 [Х 1] обр=00000101 [Х 2] обр=1110 Відповідь завжди записується у прямому коді. Якщо в результаті вийшло негативне число, його необхідно перевести в прямий код.

Приклад 3. Виконання операції у додатковому коді Х 1 -Х 2=17 -5= 17+(-5)=12 [Х 1] пр=0001 [Х 2] пр=10000101 [Х 1] обр=0001 [Х 2 ] обр=11111010 [Х 1] доп=0001 [Х 2] доп=11111011 При виконанні операцій у додатковому коді Одиниця, що пішла за 8 розряд ВИКИДАЄТЬСЯ.

Приклад 4. Х 1 -Х 2 = 5 -17 = 5 + (-17) = -12 [Х 1] пр = 00000101 [Х 2] пр = 10010001 [Х 1] обр = 00000101 [Х 2] обр = 1110 [Х 1] доп=00000101 [Х 2] доп= 11101111 Отримали від'ємне число в дод. коді. Для переведення їх у прямий код необхідно: 1. Проінвертувати всі розряди числа, крім знакового; 2. Ще раз додати 1 до молодшого розряду.

Модифікований додатковий машинний код Модифікований додатковий код виходить з додаткового простим дублюванням знакового розряду. "00" відповідає знаку "+", "11" - знаку "-". Будь-яка інша комбінація ("01" або "10"), що вийшла в знакових розрядах служить ознакою переповнення розрядної сітки і результат, що вийшов - неправильний. знак 5 4 3 2 1 0

Приклад Перекладемо X і Y модифікований додатковий код: Виконаємо складання: У цьому прикладі коми відокремлені знакові розряди!! Переповнення немає (у знакових розрядах "00" – у результаті отримано позитивне число), тому отриманий результат - правильний (X + Y = 1111 = 41-26 = 15).

Приклад 2 Звичайна запис числа Х = -41 = - 101001 У = 26 = + 011010 Модифікований зворотний код 11 010110 00 011010 Модифікований додатковий код 11 010111 00 011010 Х + 1 = 0 дод. модиф. код Переповнення немає (у знакових розрядах "11" – у результаті отримано від'ємне число), тому отриманий результат – потрібно переводити у прямий код. 11 110001 дод. модиф. код 11 001110 зворотний. модиф. код + 1 11 001111 , що відповідає числу - 1510

Підтримайте проект - поділіться посиланням, дякую!
Читайте також
Як встановити шпалери в iPhone? Як встановити шпалери в iPhone? Оновлюємо iOS трьома різними способами Оновлюємо iOS трьома різними способами Режим Режим "Не турбувати" та безшумний режим у iPhone «Не турбувати» в нічний час