Система числення (numeration system) - система позначень для подання чисел.
Існують позиційні й непозиційні системи числення. У непозиційних системах значення числового знака не залежить від її позиції в записі числа. Так, у римській системі числення в числі ХХХII (тридцять два) - цифри Х у будь-якої позиції дорівнює просто десяти. ПОЗИЦІЙНА СИСТЕМА ЧИСЛЕННЯ (POSITIONAL SYSTEM) -запис числа, в якому значення числового знака залежить від його розташування в запису Наприклад, число 385,755 можна записати у вигляді виразу:
.
Основа позиційної системи числення - кількість різних цифр, що використовуються для зображення чисел у даній СЧ. За основу системи можна прийняти будь-яке натуральне число — два, три, чотири та ін. Запис чисел у кожній із СЧ з основою q означає скорочений запис виразу:
an-1 qn-1 + an-2 qn-2 +... + a1 q1 + a0 q0 + a-1 q-1 +... + a-m q-m, (1)
де ai — цифри системи числення; n, m — число цілих і дробових розрядів, відповідно. Так, десяткова система числення розташовує тільки десятьма цифрами - 0,1,2,…,9 – за допомогою котрих можливо представити будь-яке число. Десяткова система є позиційної, тобто значення кожної цифри числа визначається її місцем (позицією) у числі. Правила запису й виконання різних операцій у всіх позиційних СЧ однакові та відрізняються друг від друга тільки основою (таблиця 1.1): - у десятковій системі числення використовується десять цифр - 0 … 9; - у двійковій системі числення використовуються дві цифри – 0, 1; - у вісімковій системі - вісім цифр - 0 … 7; - у шістнадцятковій системі числення задіяні шістнадцять символів - цифри 0 (9 і букви латинського алфавіту A,B,C,D,E,F для запису чисел 10, 11, 12, 13, 14, 15 відповідно. Приклад запису числа у двійковій СЧ:
Таблиця 1.1 - Натуральні числа записані в десятковій, двійковій, вісімковій та шістнадцятковій СЧ
В процесі налагодження програм та в деяких інших ситуаціях у програмуванні актуальною є проблема переведення чисел з однієї позиційної CЧ в іншу. Алгоритм перекладу цілих дісяткових чисел в СЧ с основою q реалізується за допомогою виконання наступних кроків: 1. Поділити вихідне десяткове число на число, що дорівнює значенню основи q. Зафіксувати остачу від ділення. 2. Послідовно повторювати крок 1 для одержуваних в процесі ділення остачі до одержання нульової остачі на черговому кроці. 3. Представити остачі від ділення в СЧ з основою q. 4. Записати отримані остачі зліва направо в порядку, зворотному їх одержанню.
Приклад 1.1. Перевести десяткове число 75 у двійкову систему числення (q = 2). Послідовність ділення: 75: 2 = 37 (остача 1); 37: 2 = 18 (остача 1); 18: 2 = 9 (остача 0); 9: 2 = 4 (остача 1); 4: 2 = 2 (остача 0); 2: 2 = 1 (остача 0); 1: 2 = 0 (остача 1). Записуємо остачі від ділення, починаючі з останнього, одержуємо число 75 в двійковій СЧ 1001011.
Приклад 1.2. Перевести десяткове число 75 в шістнадцяткову СЧ (q = 16). Послідовність ділення: 75: 16 = 4 (остача 11, або B); 4: 16 = 0 (остача 4). Десяткове число 75 у шістнадцяткової СЧ має значення 4B.
Алгоритм перекладу дробових десяткових чисел (менші одиниці) у СЧ з основою q полягає в наступному: 1. Помножити вихідне десяткове число на основу q. Зафіксувати цілу частину отриманого добутку. 2. Послідовно повторювати пункт 1 для отриманих добутків. (Перед кожним множенням цілу частина попереднього результату треба обнулить). 3. Завершити процес послідовних множень або при одержанні нульової дробової частини в черговому добутку, або при досягненні необхідної точності (число множень визначає число знаків дробової частини числа в СЧ з основою q). 4. Праворуч від коми записати зафіксовані цілі частини в тій послідовності, у якій вони отримані.
Приклад 1.3. Перевести десяткове число 0,7 у двійкову систему числення з п'ятьма знаками після коми. Послідовні множення дають наступні результати:
0,7 * 2 = 1,4 (ціла частина 1); 0,4 * 2 = 0,8 (ціла частина 0); 0,8 * 2 = 1,6 (ціла частина 1); 0,6 * 2 = 1,2 (ціла частина 1); 0,2 * 2 = 0,4 (ціла частина 0); ...
Таким чином, результат має вигляд: 0,10110 У тому випадку, коли вихідне число містить як дробову, так і цілу частини, треба відповідно до вищеописаних методів перевести окремо з десяткової CЧ у СЧ із основою q цілу й дробову частини вихідного числа, а потім записати їх відповідно ліворуч і праворуч від коми в результуючому числі. Отже, результат перекладу десяткового числа 75,7 у двійкову систему має вигляд: 1001011,10110...
|