ПОДАННЯ І ОБРОБКА ЧИСЕЛ В ДОМУ
Одним з основних напрямків застосування комп'ютерів були і залишаються різноманітні обчислення.
Комп'ютерна обробка числової інформації ведеться і при вирішенні завдань, на перший погляд не пов'язаних з якимись розрахунками, наприклад, при використанні комп'ютерної графіки або звуку.
У зв'язку з цим постає питання про вибір оптимального представлення чисел в комп'ютері.
Можна було б використовувати 8-бітове (байтовое) кодування окремих цифр як символів, а з них складати числа.
Однак таке кодування не буде оптимальним, що легко побачити з простого прикладу.
Нехай є двозначне число 13;
При 8-бітному кодуванні окремих цифр в кодах ASCII його уявлення виглядає наступним чином: 0011000100110011, тобто код має довжину 16 біт;
Якщо ж визначати їх кількість за допомогою двійкового виборного каскаду (наприклад, використовуючи вибірковий каскад "Угадайка - 16", подібний раніше описаного), то отримаємо четирехбітних ланцюжок 1101.
Подання числа визначає не тільки спосіб запису даних (букв або чисел), а й допустимий набір операцій над ними;
Зокрема, букви можуть бути тільки поміщені в деяку послідовність (або виключені з неї) без зміни їх самих;
Над числами ж можливі операції, які змінюють саме число, наприклад, витяг кореня або складання з іншим числом.
Подання чисел в комп'ютері в порівнянні з формами, відомими всім зі школи, має дві важливі відмінності:
по перше . числа записуються в двійковій системі числення (на відміну від звичної десяткової);
по-друге . для запису і обробки чисел відводиться кінцеве кількість розрядів (в "некомп'ютерною" арифметиці таке обмеження відсутнє).
Значення числа задає його ставлення до значень інших чисел ( "більше", "менше", "дорівнює") і, отже, порядок розташування чисел на числовій осі.
Форма подання, як випливає з назви, визначає порядок (спосіб) записи числа за допомогою призначених для цього знаків.
При цьому значення числа є інваріантом, тобто не залежить від способу його представлення.
Це означає також, що число з одним і тим же значенням може бути записано по-різному, тобто відсутня взаємно однозначна відповідність між поданням числа і його значенням.
У зв'язку з цим виникають питання,
· По-перше, про форми подання чисел, і,
· По-друге, про можливості та способи переходу від однієї форми до іншої.
Спосіб подання числа визначається системою числення.
Система числення - це правило записи чисел за допомогою заданого набору спеціальних знаків - цифр.
Людьми використовувалися різні способи запису чисел, які можна об'єднати в кілька груп:
Унарна - це система числення, в якій для запису чисел використовується тільки один знак - I ( "паличка").
Наступне число виходить з попереднього додаванням нової I, їх кількість (сума) дорівнює самому числу.
Саме така система застосовується для початкового навчання рахунку дітей (можна згадати "рахункові палички");
Але, унарна система важлива також в теоретичному відношенні, оскільки в ній число представляється найбільш простим способом і, отже, прості операції з ним.
Крім того, саме унарна система визначає значення цілого числа кількістю містяться в ньому одиниць, яке не залежить від форми подання.
Для запису числа в унарною системі в подальшому будемо використовувати позначення Z1.
З непозиційних найбільш поширеною можна вважати римську систему числення. У ній деякі базові числа позначені заголовними латинськими буквами:
Всі інші числа будуються комбінацій базових відповідно до наступних правил:
· Якщо цифра меншого значення стоїть праворуч від більшої цифри, то їх значення підсумовуються; якщо зліва - то менше значення віднімається з більшого;
· Цифри I, X, C і M можуть слідувати поспіль не більше трьох разів кожна;
· Цифри V, L і D можуть використовуватися в запису числа не більше одного разу.
· XIX відповідає числу 19,
· MDXLIX - числу 1 549.
Запис чисел в такій системі громіздка і незручна, але ще більш незручним виявляється виконання в ній навіть найпростіших арифметичних операцій.
Відсутність нуля і знаків для чисел більше M не дозволяють римськими цифрами записати будь-яке число (хоча б натуральне).
З цих причин тепер римська система використовується лише для нумерації.
В даний час для представлення чисел застосовують, в основному, позиційні системи числення.
Позиційними називаються системи числення, в яких значення кожної цифри в зображенні числа визначається її положенням (позицією) в ряду інших цифр.
Найбільш поширеною і звичною є система числення, в якій для запису чисел використовується 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 і 9.
Число є коротку запис многочлена, в який входять ступеня деякого іншого числа - основи системи числення.
272,12 = 2 · 10 2 + 7 · 10 1 + 2 · 10 0 + 1 · 10 -1 + 2 · 10 -2
В даному числі цифра 2 зустрічається тричі, однак, значення цих цифр різна і визначається їх положенням (позицією) в числі.
Кількість цифр для побудови чисел, очевидно, так само основи системи числення.
Також очевидно, що максимальна цифра на 1 менше підстави.
Причина широкого поширення саме десяткової системи числення зрозуміла - вона походить від унарною системи з пальцями рук як "паличок".
Однак в історії людства є свідчення використання і інших систем числення - пятеричной, шестерічной, Дванадцяткова, двадцатерічной і навіть Шістдесяткова.
Загальним для унарною і римської систем числення є те, що значення числа в них визначається за допомогою операцій додавання і віднімання базисних чисел, з яких складено число, незалежно від їх позиції в числі.
Такі системи отримали назву адитивних.
На відміну від них позиційне уявлення слід вважати адитивно-мультиплікативний, оскільки значення числа визначається операціями множення і складання.
Головною ж особливістю позиційного подання є те, що в ньому за допомогою кінцевого набору знаків (цифр, роздільник десяткових розрядів і позначення знака числа) можна записати необмежену кількість різних чисел.
Крім того, в позиційних системах набагато легше, ніж в адитивних, здійснюються операції множення і ділення.
Саме ці обставини зумовлюють домінування позиційних систем при обробці чисел як людиною, так і комп'ютером.
За принципом, покладеному в основу десяткової системи числення, очевидно, можна побудувати системи з іншим підставою.
Нехай p - основа системи числення.
Тоді будь-яке число Z (поки обмежимося тільки цілими числами), що задовольняє умові Z
З коефіцієнтів aj при ступенях підстави будується скорочений запис числа:
Індекс p у числа Z вказує, що воно записано в системі числення з основою p; загальне число цифр числа одно k.
Всі коефіцієнти aj - цілі числа, що задовольняють умові:
Доречно запитати: яке мінімальне значення p?
p = 1 неможливо, оскільки тоді всі aj = 0 і форма (1) втрачає сенс.
Перше допустиме значення p = 2 - воно і є мінімальним для позиційних систем.
Система числення з основою 2 називається двійковій.
Цифрами двійковій системи є 0 і 1, а форма - (1) будується за ступенями 2.
Інтерес саме до цієї системи числення пов'язаний з тим, що, як зазначалося вище, будь-яка інформація в комп'ютерах представляється за допомогою двох станів - 0 і 1, які легко реалізуються технічно.
Поряд з двійковій в комп'ютерах використовуються 8-ричная і 16-ричная системи числення - причини будуть розглянуті далі.