#
LD31D
Системи числення

Системи числення

Коли ми пишемо число «42», ми робимо це не тому, що так влаштований всесвіт - просто ми домовилися записувати числа певними символами. Таких способів запису існує багато, і називаються вони системами числення.

Простіше кажучи:
Система числення - це спосіб запису чисел за допомогою символів(цифр).

Цифри VS Числа

Цифра - це символ, який використовується для запису числа.

В десятковій системі числення використовуються 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В якості цифр можна використати будь які символи, наприклад у римській системі числення використовуються такі цифри: I, V, X, L, C, D, M.

Число - це кількість чогось, записана за допомогою цифр.

Наприклад щоб записати число 451, треба використати три цифри - 4, 5, 1.

Чому існує декілька систем числення?

Так історично склалося. Люди в різних культурах використовували свої варіанти:

  • римляни писали числа літерами: X, V, I;
  • стародавні єгиптяни малювали палички, змії і значки;
  • ми зараз використовуємо цифри 0–9.

А ось комп’ютери використовують інший набір символів — тільки 0 і 1. Це пов’язано з тим, що в електроніці є два стійких стани: «є сигнал» і «немає сигналу».

Системи числення поділяються на два види:

  • Позиційні
  • Непозиційні

Непозиційні системи числення

В непозиційних системах числення значення символа не залежить від її позиції в числі.

Рахунок на пальцях

Найбільш простим прикладом є рахунок на пальцях, незалежно від того, який палець ми розгинаємо - це все можна інтерпретувати як одиницю, за деяких випадків 😅

Рахунок до 5 буде виглядати так, незалежно від того, як ми його почнемо:

Головне - порядок пальців не має значення.

Якщо підняти великий + вказівний, або вказівний + середній це все одно буде 2.

Тобто значення визначається кількістю піднятих пальців, а не позицією - отже, це непозиційна система.

Tally Marks

Ще одним популярним прикладом непозиційної системи є Tally Marks, її часто можна побачити в фільмах на тюремних стінах, це дуже популярний кіно-штамп.
На відео показано рахунок до 10, кожен штрих - це одиниця.

Римська система числення

Також до непозиційних систем числення можна віднести римську.

Римська цифраЗначення
I1
V5
X10
L50
C100
D500
M1000

Правило додавання

Якщо менший символ стоїть після більшого, то його додають.

VI=5+1=6XV=10+5=15LXX=50+10+10=70VI = 5 + 1 = 6 \\ XV = 10 + 5 = 15 \\ LXX = 50 + 10 + 10 = 70

Правило віднімання

Якщо менший символ стоїть перед більшим, то його віднімають.

IV=51=4IX=101=9XL=5010=40IV = 5 − 1 = 4 \\ IX = 10 − 1 = 9 \\ XL = 50 − 10 = 40

Приклади римських чисел:

  • III = 3
  • IV = 4
  • VIII = 8
  • XII = 12
  • MMXXV = 2025

У римській системі символи завжди означають одне й те саме, незалежно від їхнього місця в записі:

  • I завжди = 1
  • V завжди = 5
  • X завжди = 10

Позиція не змінює значення самого символу, тільки правило додавання/віднімання.

Позиційні системи числення

Позиційна система числення - це система, в якій значення кожної цифри залежить від її позиції в числі.

Позиції

У кожного символа в позиційній системі числення є своя позиція в числі.

Наприклад розглянемо число “381”:

Останній правий символ має позицію 0, а всі інші розраховуються від нього, далі стане зрозуміло чому позиції починаються з нуля.

Основа (база)

Основа системи числення - це кількість різних цифр, які використовуються для запису чисел у цій системі.

Простіше кажучи:

Основа - це скільки унікальних символів є для побудови чисел.

Наприклад візьмемо систему до якої ми звикли - десятичну, в якій використовуєтся 10 символів для побудови числа: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Тому ії основа - 10.

Розряди

Саме завдяки основі та позиції в нас зʼявляється розряд одиниць, десятків та сотень тощо. Піднесення основи до степеня позиції дає розряд.

Будь яке число в степені 0 дає одиницю:

n0=1 n^0 = 1

Тому позиції починаються з нуля.

Щоб обчислити число “381” нам потрібно кожен символ помножити на розряд та скласти між собою:

3102+8101+1100=381 3 * 10^2 + 8 * 10^1 + 1 * 10^0 = 381

Зрозумівши що тут відбувається ми можемо перейти до розглядання інших систем числення.

Двійкова система числення

Двійкова система числення - це позиційна система з основою 2, де використовуються тільки два символи: 0 і 1.

Двійкова система використовується в комп’ютерах, тому що їм простіше обробляти тільки два стани: увімкнено (1) і вимкнено (0), що відповідає електричним сигналам.

Кожне число в двійковій системі можна представити як суму степенів числа 2.


На малюнку зображено число 5 у двійковій системі числення:

122+021+120=5 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 5 \\

Основу системи числення ми можемо записати в правому нижньому углу:

1012=510 101_2 = 5_\text{10}

Тут ми вказали що 101 в двійковій системі дорівнює 5 в десятичній.

Восьмирична система числення

Восьмирична система числення (октальна, основа 8) - це позиційна система, в якій використовуються цифри: 0, 1, 2, 3, 4, 5, 6, 7.

Повернемо це число до десятичної системи:

382+681+780=2473678=24710 3 * 8^2 + 6 * 8^1 + 7 * 8^0 = 247 \\ 367_8 = 247_\text{10}

Вона добре співвідноситься з двійковою системою: кожні 3 двійкові цифри = 1 вісімкова цифра.

ДесятичнаДійкова (2)Восьмирична (8)
00000
10011
20102
30113
41004
51015
61106
71117
8100010
9100111
10101012
11101113
12110014
13110115
14111016
15111117
161000020
171000121
181001022
191001123
201010024

Шістнадцяткова система числення

Шістнадцяткова система числення (hex, основа 16) — це позиційна система, в якій використовуються 16 символів: 0–9 и A, B, C, D, E, F.

Де літери відповідають значенням:

  • A = 10
  • B = 11
  • C = 12
  • D = 13
  • E = 14
  • F = 15

Повернемо це число до десятичної системи, перед цим замінив значення літер:

3162+10161+7160=9353A716=93510 3 * 16^2 + 10 * 16^1 + 7 * 16^0 = 935 \\ \text{3A7}_\text{16} = 935_\text{10}

Ось таблиця числа від 0 до 20 будуть виглядати в інших системах числення:

10 (Dec)2 (Bin)8 (Oct)16 (Hex)
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010
17100012111
18100102212
19100112313
20101002414

Переведення чисел з десятичної системи в інші

Щоб перевести число з десятичної системи в будь-яку іншу ми використаємо метод ділення. Для цього нам потрібно ділити число на основу системи в яку ми хочемо перевести, записувати залишок ділення та результат та продовжувати ділити результат доки він не стане нулем.

Ось приклад як пересести число “953” до восьмиричної системи числення:
Залишки записуємо в зворотному порядку - це і буде наш результат.

Також розглянемо, як можна перевести те саме число до шістнадцяткової системи числення: Алгоритм той самий але перед записом результату треба перевести залишки до символів системи. В данному випадку 11 - це символ B.

Завдання для самоперевірки

  1. Опишіть чим відрізняються позиційні та не позиційні системи числення. Назведіть приклади для кожного виду.
  2. Зобразіть число 7 за допомогою Tally Marks
  3. Переведіть двійкові числа до десяткої системи числення:
    • 10
    • 11
    • 1010
    • 111111
  4. Переведіть числа з восьмиричної до десяткої системи числення:
    • 10
    • 53
    • 16
    • 411
  5. Перетворіть hex числа до десяткої системи числення:
    • 10
    • 3A
    • 10F
    • ABC
  6. Переведіть ці десяткові числа до інших систем числення:
    • 15
    • 31
    • 84
    • 99