Прямий, зворотний і додатковий код числа (інформатика рішення задач з інформатики онлайн
На головну сторінку
Навіщо був потрібен додатковий код?
Винахід зворотного і додаткового коду виникло через бажання заощадити гроші при побудові арифметико-логічних пристроїв (АЛП) обчислювальних машин. У ті далекі часи, коли навіть самий слабенький комп'ютер займав приміщення в кілька кімнат, кожен логічний елемент, а тим більше вузол коштував істотних грошей. Для того щоб виконати арифметичну операцію складання, в АЛУ комп'ютера є спеціальний вузол - суматор. а для того щоб виконати віднімання, здавалося б, потрібно "вичітатор", що тягне за собою додаткові гроші. І тоді творці перших комп'ютерів знайшли спосіб робити операцію віднімання за допомогою суматора, використовуючи для цього додатковий код числа. Тобто операція віднімання була замінена операцією додавання, де від'ємник уявлялося в додатковому коді.
Як отримати додатковий код?
Давайте подивимося, як виходить додатковий код для двійкової системи числення. Спочатку задамося розрядністю регістра, в якому буде зберігатися наше число. Нехай, для прикладу, ми будемо працювати з 8-ми розрядних числами. Візьмемо, знову ж для прикладу, число дванадцять і запишемо його в двійковій системі числення. 1100. Тепер впишемо його в 8-ми розрядний регістр, де старші, незадіяні в числі, розряди мають нульове значення (нумерація розрядів починається з нуля).
Аналізуючи результат, ми бачимо, що старший знаковий розряд дорівнює нулю, отже, результат є число позитивне і значить представлено воно в прямому коді, тобто десять, що знову-таки є правильним рішенням поставленого завдання: -30 + 40 = 10.
Підсумки, уточнеія і узагальнення про кодах
Давайте тепер уточнимо і узагальнимо всі поняття, якими ми користувалися, розглядаючи вищенаведені приклади. Отже, перш за все, що таке код числа взагалі і чим він відрізняється від самого числа? Код числа - це модель подання числа в цифровому пристрої. Наприклад, в комп'ютері.
Головним параметром будь-якого коду є його розрядність. У розглянутих вище прикладах ми користувалися 8-ми розрядних кодами. Зверніть увагу, що розрядність коду - це не те, що в математиці називають розрядністю числа. Наприклад, двійкове число три (11) двох розрядне, число п'ять (101) трьох, десять (1010) чотирьох розрядний. Але всі вони можуть бути представлені деякими 8-ми розрядним кодом. При цьому відсутні старші розряди числа, в коді, представляються нулями. Очевидно, що ми не зможемо в деякому коді уявити число, розрядність якого більше розрядності коду. Тому фахівці з обчислювальної техніки, у своїй професійній діяльності, під розрядністю чисел розуміють розрядність коду.
Крім того, перш ніж кодувати числа, ми повинні визначитися, а яке власне підмножина чисел ми збираємося кодувати? Якщо це натуральні числа, то буде потрібно один спосіб кодування, до речі, найпростіший. Для цілих чисел вже потрібно якось кодувати знак числа і його модуль, а для кодування раціональних чисел потрібні ще більш складні коди. Так ось, прямий зворотний і додатковий код - це моделі представлення цілих чисел. як позитивних, так і негативних. Приклади запису деяких чисел у всіх трьох восьмирозрядних кодах показані в таблиці нижче.
У всіх трьох кодах старший розряд вказує на знак числа і він дорівнює одиниці, якщо число негативне і нулю в іншому випадку. Решта розряди містять уявлення модуля числа. Різниця між кодами спостерігається саме в способах подання модуля. Для позитивного числа модуль у всіх трьох кодах представляється однаково - це просто природна запис двійкового числа. Для негативних чисел, в зворотному коді це просто поразрядное інверсія прямого коду, а в додатковому - до зворотного коду, як до числа, просто додається одиниця.
до списку вирішуваних завдань
Поділіться інформацією з друзями "В Контакте", "Однокласниках" і т.п.
Відгуки і пропозиції для Рішення Завдань по Інформатики OnLine