Лекція 2 "Системи числення"
Сукупність прийомів найменування і позначення чисел називається системою числення. Як умовні знаки для запису чисел вживаються цифри.
Система числення, в якій значення кожної цифри в довільному місці послідовності цифр, яка означає запис числа, не змінюється, називається непозиционной.
Система числення, в якій значення кожної цифри залежить від місця в послідовності цифр у записі числа, називається позиційною.
Щоб визначити число, недостатньо знати тип і алфавіт системи числення. Для цього необхідно ще додати правила, які дають змогу за значеннями цифр встановити значення числа. Найпростішим способом запису натурального числа є зображення його за допомогою відповідної кількості паличок або рисочок. Таким способом можна користуватися для невеликих чисел. Наступним кроком було винайдення спеціальних символів (цифр). У непозиционной системі кожен знак у запису незалежно від місця означає одне й те саме число. Добре відомим прикладом непозиційної системи обчислення є римська система, в якій роль цифр відіграють букви алфавіту: І - один, V - п'ять, Х - десять, С - сто, L - п'ятдесят, D -п'ятсот, М - тисяча. Наприклад, 324 = СССХХІ. У непозиционной системі числення арифметичні операції незручно й складно виконувати.
Позиційні системи числення
Загальноприйнятою в сучасному світі є десяткова позиційна система числення, яка з Індії через арабські країни прийшла в Європу. Основою системи є число десять. Основою системи числення називається число, яке означає, у скільки разів одиниця наступного розрядку більше за одиницю попереднього.
Загальновживаною формою запису числа є скорочена форма запису розкладу за степенями основи системи числення, наприклад
130678 = 1 * 10 5 + 3 * 10 4 + 0 * 10 3 + 6 * 10 2 + 7 * 10 1 +8
Тут 10 є основою системи числення, а показник ступеня - це номер позиції цифри в записі числа (нумерація ведеться зліва на право, починаючи з нуля). Арифметичні операції в цій системі виконують за правилами, запропонованими ще в середньовіччі. Наприклад, складаючи два багатозначних числа, застосовуємо правило додавання стовпчиком. При цьому все зводиться до додавання однозначних чисел, для яких необхідним є знання таблиці додавання.
Проблема вибору системи числення для подання чисел у пам'яті комп'ютера має велике практичне значення. У разі її вибору звичайно враховуються такі вимоги, як надійність подання чисел при використанні фізичних елементів, економічність (використання таких систем числення, в яких кількість елементів для подання чисел із деякого діапазону була б мінімальною). Для зображення цілих чисел від 1 до 999 у десятковій системі достатньо трьох розрядів, тобто трьох елементів. Оскільки кожен елемент може перебувати в десятьох станах, то загальна кількість станів - 30, у двійковій системі числення: 99910 = 11111002. необхідну кількість станів - 20 (індекс внизу числа - основа системи числення).
Тому найпоширенішою для подання чисел у пам'яті комп'ютера є двійкова система числення. Для зображення чисел у цій системі необхідно дві цифри: 0 і 1, тобто достатньо двох стійких станів фізичних елементів. Ця система є близькою до оптимальної за економічністю, і крім того, таблички додавання й множення в цій системі елементарні:
Для налагодження програм і в інших ситуаціях у програмуванні актуальною є проблема переведення чисел з однієї позиційної системи числення в іншу. Якщо основа нової системи числення дорівнює деякому степеню старої системи числення, то алгоритм переводу дуже простий: потрібно згрупувати справа наліво розряди в кількості, що дорівнює показнику степеня і замінити цю групу розрядів відповідним символом нової системи числення. Цим алгоритмом зручно користуватися коли потрібно перевести число з двійкової системи числення у вісімкову або шістнадцяткову. Наприклад, 101102 = 10110 = 268. 10111002 = 1011100 = 5C8
Переклад чисел з восьмиричной або шестнадцатиричной систем обчислення в двійкову відбувається за зворотнім правилом: один символ старої системи числення заміняється групою розрядів нової системи числення, в кількості рівній показнику степеня нової системи числення. Наприклад, 4728 = 100111010 = 1001110102. B516 = 10110101 = 101101012
Як бачимо, якщо основа однієї системи числення дорівнює деякому степеню іншої, то перевід тривіальний. В іншому випадку користуються правилами переведення числа з однієї позиційної системи числення в іншу (найчастіше для переведення із двійкової, вісімкової та шістнадцяткової систем числення в десяткову, і навпаки).
Алгоритми переведення чисел з однієї позиційної системи числення в іншу
1. Для переведення чисел із системи числення з основою p в систему числення з основою q, використовуючи арифметику нової системи числення з основою q, потрібно записати коефіцієнти розкладу, основи степенів і показники степенів у системі з основою q і виконати всі дії в цій самій системі . Очевидно, що це правило зручне при переведенні до десяткову систему числення. наприклад:
з шестнадцатиричной в десяткову:
з восьмиричной в десяткову:
з двійковій в десяткову:
2. Для переведення чисел із системи числення з основою p в систему числення з основою q з використанням арифметики старої системи числення з основою p потрібно:
- для переведення цілої частини:
- послідовно число, записане в системі основою p ділити на основу нової системи числення, виділяючи остачі. Останні записані у зворотному порядку, будуть утворювати число в новій системі числення;
- для переведення дробової частини:
- послідовно дробову частину множити на основу нової системи числення, виділяючи цілі частини, які й будуть утворювати запис дробової частини числа в новій системі числення.
Цим самим правилом зручно користуватися в разі переведення з десяткової системи числення, тому що її арифметика для нас звична.
Приклад: 999,3510 = +1111100111,010112
для цілої частини:
для дробової частини:
Контрольні питання
- Що таке система числення?
- Які типи систем числення ви знаєте?
- Що таке основа позиційної системи числення?
- У чому полягає проблема вибору системи числення для подання чисел у пам'яті комп'ютера?
- Яка система числення використовується для подання чисел у пам'яті комп'ютера? Чому?
- Яким чином здійснюється перевід чисел, якщо основа нової системи числення дорівнює деякому степеню старої системи числення?
- За яким правилом переводяться числа з десяткової системи обчислення