Введення до систем числення
Система числення - сукупність прийомів та правил найменування й позначення чисел.
Позиційна - система числення, в якій значення кожної цифри залежить від місця в послідовності цифр у записі числа.
Непозиційна - система числення, в якій значення кожної цифри в довільному місці послідовності цифр, яка означає запис числа, не змінюється.
Щоб визначити число, недостатньо знати тип і алфавіт системи числення. Для цього необхідно ще додати правила, які дають змогу за значеннями цифр встановити значення числа.
Найпростішим способом запису натурального числа є зображення його за допомогою відповідної кількості паличок або рисочок. Таким способом можна користуватися для невеликих чисел.
Наступним кроком було винайдення спеціальних символів (цифр). У непозиційній системі кожен знак у запису незалежно від місця означає одне й те саме число. Добре відомим прикладом непозиційної системи числення є римська система, в якій роль цифр відіграють букви алфавіту: І - один, V - п'ять, Х - десять, С - сто, Z - п'ятдесят, D - п'ятсот, М - тисяча. Наприклад, 324 = СССХХІV. У непозиційній системі числення незручно й складно виконувати арифметичні операції.
Поширений приклад непозиційної системи числення – римська система числення, де замість цифр використовуються латинські букви (таблиця 10.1).
Таблиця 10.1 – Цифри римської системи числення
Римська цифра | Десяткове значення |
I | |
V | |
X | |
L | |
C | |
D | |
M |
Наприклад, VII = 5 + 1 + 1 = 7. Тут символи V і I означають 5 і 1, відповідно, незалежно від місця їх у числі.
Загальноприйнятою в сучасному світі є десяткова позиційна система числення, яка з Індії через арабські країни прийшла в Європу. Основою цієї системи є число десять. Основою системи числення називається число, яке означає, у скільки разів одиниця наступного розрядку більше за одиницю попереднього.
Загальновживана форма запису числа є насправді не що інше, як скорочена форма запису розкладу за степенями основи системи числення, наприклад:
130678=1*105+3*104+0*103+6*102+7*101+8
Тут 10 є основою системи числення, а показник степеня - це номер позиції цифри в записі числа (нумерація ведеться зліва на право, починаючи з нуля). Арифметичні операції у цій системі виконують за правилами, запропонованими ще в середньовіччі. Наприклад, додаючи два багатозначних числа, застосовуємо правило додавання стовпчиком. При цьому все зводиться до додавання однозначних чисел.
9.2. Двійкова система числення
Є 10 типів людей - такі, що розуміють двійкову систему, та такі, що не розуміють.
Пояснення: 102 = 210
Проблема вибору системи числення для подання чисел у пам'яті комп'ютера має велике практичне значення. В разі її вибору звичайно враховуються такі вимоги, як надійність подання чисел при використанні фізичних елементів, економічність (використання таких систем числення, в яких кількість елементів для подання чисел із деякого діапазону була б мінімальною).
Найпоширенішою для подання чисел у пам'яті комп'ютера є двійкова система числення – використовує для запису чисел тільки два символи, зазвичай 0 (нуль) та 1 (одиницю).
Оскільки 23=8, а 24=16 , то кожних три двійкових розряди зображення числа утворюють один вісімковий, а кожних чотири двійкових розряди - один шістнадцятковий. Тому для скорочення запису адрес та вмісту оперативної пам'яті комп'ютера використовують шістнадцяткову й вісімкову системи числення.
0 2 = 0 10
1 2 = 1 10
10 2 = 2 10
11 2 = 3 10
100 2 = 4 10
101 2 = 5 10
9.3. Шістнадцяткова система числення
Шістнадцяткова систе́ма чи́слення — це позиційна система числення, кожне число в якій записується за допомогою 16-ти символів. Цю систему часто називають також Hex (початкові літери англ. hexadecimal — шіснадцятеричний).
Для запису чисел в цій системі окрім 10 арабських цифр (від 0 do 9) використовують 6 літер латинської абетки: A, B, C, D, E, F.
Запис числа формується за загальним принципом: на n-й позиції (зправа на ліво від 0) стоїть цифра, що відповідає кількості n-х степенів шістнадцяти у цьому числі. Наприклад, число записане в десятковій системі як 1000, в hex записується як 3E8, де:
3x162 + 14x161 + 8x160 = 768 + 224 + 8 = 1000.
В табл. 10.1 представлено відповідність різних систем числення.
Таблиця 10.1 – Таблиця відповідності різних систем числення
A | |||
B | |||
C | |||
D | |||
E | |||
F |
9.4. Системи числення з нетрадиційними основами
В людській історії існувала велика кількість різноманітних систем числення.
Слов’янська система числення – використовувала літери слов’янської абетки, за допомогою яких можна було представляти числа.
Трійкова система – -1, 0, 1; N, O, P.
Трійкова система – дуже зручний аналог двійкової при здійсненні арифметичних операцій, була реалізована в деяких комп’ютерах, наприклад, в радянському комп’тері «Сетунь», який був побудований в кінці 1950-х рр. На рис. 10.2 представлена таблиця додавання у трійковій системі.
Рисунок 10.2 – Таблиця додавання у трійковій системі
Чому саме десяткова система стала популярною? Підказка: у племенах майя використовувалася двадцяткова система.
9.5. Перетворення між різними системами числення
Якщо основа нової системи числення дорівнює деякому степеню старої системи числення, то алгоритм переводу дуже простий: потрібно згрупувати справа наліво розряди в кількості, що дорівнює показнику степеня і замінити цю групу розрядів відповідним символом нової системи числення. Цим алгоритмом зручно користуватися коли потрібно перевести число з двійкової системи числення у вісімкову або шістнадцяткову. Наприклад, 101102=10110=268, 10111002=1011100=5C8
Перетворення навпаки відбувається за зворотнім правилом: один символ старої системи числення заміняється групою розрядів нової системи числення, в кількості рівній показнику степеня нової системи числення. Наприклад, 4728=100111010=1001110102, B516=10110101=101101012
Як бачимо, якщо основа однієї системи числення дорівнює деякому степеню іншої, то перевід тривіальний. У протилежному випадкові користуються правилами переведення числа з однієї позиційної системи числення в іншу (найчастіше для переведення із двійкової, вісімкової та шістнадцяткової систем числення у десяткову, і навпаки).
Розглянемо загальні правила переведення.
1. Для переведення чисел із системи числення з основою p в систему числення з основою q, використовуючи арифметику нової системи числення з основою q, потрібно записати коефіцієнти розкладу, основи степенів і показники степенів у системі з основою q і виконати всі дії в цій самій системі. Очевидно, що це правило зручне при переведенні до десяткової системи числення.
Наприклад:
з шістнадцяткової в десяткову:
92C816=9*10163+2*10162+C*10161+8*10160= 9*16103+2*16102+12*16101+8*16100=37576
з вісімкової в десяткову:
7358=7*1082+3*1081+5*1080= 7*8102+3*8101+5*8100=47710
з двійкової в десяткову:
1101001012=1*1028 + 1*1027 + 0*1026 + 1*1025 + 0*1024 + 0*1023 + 1*1022 + 0*1021 + 1*1020= 1*2108 + 1*2107 + 0*2106 + 1*2105 + 0*2104+0*2103+1*2102+0*2101+ 1*2100=42110
2. Для переведення чисел із системи числення з основою p в систему числення з основою q з використанням арифметики старої системи числення з основою p потрібно:
для переведення цілої частини:
послідовно число, записане в системі основою p ділити на основу нової системи числення, виділяючи остачі. Останні записані у зворотному порядку, будуть утворювати число в новій системі числення;
для переведення дробової частини:
послідовно дробову частину множити на основу нової системи числення, виділяючи цілі частини, які й будуть утворювати запис дробової частини числа в новій системі числення.
Цим самим правилом зручно користуватися в разі переведення з десяткової системи числення, тому що її арифметика для нас звичніша.
Приклади: 999,3510=1111100111,010112
для цілої частини:
для дробової частини: