Системи числення та двійкове представлення інформації у пам'яті комп'ютера. Криптографія: Як вважає комп'ютер

З допомогою цього онлайн калькулятораможна перевести цілі та дробові числа з однієї системи числення до іншої. Надається докладне рішення з поясненнями. Для перекладу введіть вихідне число, задайте основу системи числення вихідного числа, задайте основу системи числення, в яку потрібно перевести число і натисніть кнопку "Перевести". Теоретичну частину та чисельні приклади дивіться нижче.

Результат уже отримано!

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

Існують позиційні та не позиційні системи числення. Арабська система числення, якою ми користуємося у повсякденному житті, є позиційною, а римська – ні. У позиційних системах числення позиція числа однозначно визначає величину числа. Розглянемо це з прикладу числа 6372 у десятковому системі числення. Пронумеруємо це число праворуч наліво, починаючи з нуля:

Тоді число 6372 можна представити у такому вигляді:

6372 = 6000 +300 +70 +2 = 6 · 10 3 +3 · 10 2 +7 · 10 1 +2 · 10 0 .

Число 10 визначає систему числення (у цьому випадку це 10). В якості ступенів взято значення позиції даного числа.

Розглянемо речове десяткове число 1287.923. Пронумеруємо його починаючи з нуля позиції числа від десяткової точки вліво та вправо:

Тоді число 1287.923 можна як:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3· 10 -3.

У загальному випадку формулу можна представити у такому вигляді:

Ц n · s n+Ц n-1 · s n-1 +...+Ц 1 · s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k

де Ц n -ціле число в позиції n, Д -k - дрібне число в позиції (-k), s- система зчислення.

Кілька слів про системи числення. Число в десятковій системі числення складається з множини цифр (0,1,2,3,4,5,6,7,8,9), у вісімковій системі числення - з множини цифр (0,1, 2,3,4,5,6,7), двійковій системічислення - з множини цифр (0,1), в шістнадцятковій системі числення - з множини цифр (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, F), де A,B,C,D,E,F відповідають числам 10,11,12,13,14,15.У таблиці Таб.1 представлені числа різних системахчислення.

Таблиця 1
Система зчислення
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

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

Для перекладу чисел з однієї системи числення в іншу, найпростіше спочатку перевести число в десяткову систему числення, а потім з десяткової системи числення перевести в необхідну систему числення.

Переведення чисел з будь-якої системи числення до десяткової системи числення

За допомогою формули (1) можна перевести числа будь-якої системи числення в десяткову систему числення.

Приклад 1. Переводити число 1011101.001 із двійкової системи числення (СС) до десяткової СС. Рішення:

1 ·2 6 +0 ·2 5 + 1 · 2 4 + 1 · 2 3 + 1 · 2 2 + 0 · 2 1 + 1 ·2 0 + 0 ·2 -1 + 0 ·2 -2 + 1 · 2 -3 = 64 +16 +8 +4 +1 +1 / 8 = 93.125

Приклад2. Переводити число 1011101.001 з вісімкової системи числення (СС) до десяткової СС. Рішення:

Приклад 3 . Переводити число AB572.CDF з шістнадцяткової системи числення до десяткової СС. Рішення:

Тут A-замінений на 10, B- на 11, C- на 12, F– на 15.

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

Для перекладу чисел із десяткової системи числення в іншу систему числення потрібно переводити окремо цілу частину числа та дробову частину числа.

Цілу частину числа переводиться з десяткової СС в іншу систему числення - послідовним розподілом цілої частини числа на основу системи числення (для двійкової СС - на 2, для 8-ї СС - на 8, для 16-ї - на 16 і т.д.). ) до отримання цілого залишку, менше, ніж основа СС.

Приклад 4 . Перекладемо число 159 з десяткової СС до двійкової СС:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Як видно з Мал. 1 число 159 при розподілі на 2 дає приватне 79 і залишок 1. Далі число 79 при розподілі на 2 дає приватне 39 і залишок 1 і т.д. В результаті побудувавши число із залишків розподілу (справа наліво) отримаємо число в двійковій СС: 10011111 . Отже можна записати:

159 10 =10011111 2 .

Приклад 5 . Перекладемо число 615 з десяткової СС у вісімкову СС.

615 8
608 76 8
7 72 9 8
4 8 1
1

При наведенні числа з десяткової СС у вісімкову СС, потрібно послідовно ділити число на 8, поки не вийде цілий залишок менше, ніж 8. В результаті побудувавши число із залишків поділу (справа наліво) отримаємо число у вісімковій СС: 1147 (див. мал. 2). Отже можна записати:

615 10 =1147 8 .

Приклад 6 . Перекладемо число 19673 із десяткової системи числення в шістнадцяткову СС.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Як очевидно з малюнка Рис.3, послідовним розподілом числа 19673 на 16 отримали залишки 4, 12, 13, 9. У шістнадцятковій системі числення 12 відповідає З, числа 13 - D. Отже наше шістнадцяткове число - це 4CD9.

Для переведення правильних десяткових дробів (речове число з нульовою цілою частиною) в систему числення з основою s необхідно дане число послідовно помножити на s до тих пір, поки в дробовій частині не вийде чистий нуль, або не отримаємо необхідну кількість розрядів. Якщо при множенні вийде число з цілою частиною, відмінне від нуля, то цю цілу частину не враховувати (вони послідовно зараховуються до результату).

Розглянемо вищевикладене з прикладів.

Приклад 7 . Перекладемо число 0.214 із десяткової системи числення в двійкову СС.

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Як видно з Рис.4, число 0.214 послідовно множиться на 2. Якщо в результаті множення вийде число з цілою частиною, відмінне від нуля, ціла частина записується окремо (ліворуч від числа), а число записується з нульовою цілою частиною. Якщо ж при множенні вийти число з цілою нульовою частиною, то ліворуч від неї записується нуль. Процес множення триває до тих пір, поки в дробовій частині не вийде чистий нуль або не отримаємо необхідну кількість розрядів. Записуючи жирні числа (Рис.4) зверху донизу отримаємо необхідне число в двійковій системі числення: 0. 0011011 .

Отже можна записати:

0.214 10 =0.0011011 2 .

Приклад 8 . Перекладемо число 0.125 із десяткової системи числення в двійкову СС.

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Для приведення числа 0.125 з десяткової СС до двійкової, дане число послідовно множиться на 2. У третьому етапі вийшло 0. Отже, вийшов наступний результат:

0.125 10 =0.001 2 .

Приклад 9 . Перекладемо число 0.214 із десяткової системи числення в шістнадцяткову СС.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Наслідуючи приклади 4 і 5 отримуємо числа 3, 6, 12, 8, 11, 4. Але в шістнадцятковій СС числам 12 і 11 відповідають числа C і B. Отже маємо:

0.214 10 =0.36C8B4 16 .

Приклад 10 . Перекладемо число 0.512 із десяткової системи числення у вісімкову СС.

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Отримали:

0.512 10 =0.406111 8 .

Приклад 11 . Перекладемо число 159.125 із десяткової системи числення в двійкову СС. Для цього переведемо окремо цілу частину числа (Приклад 4) та дробову частину числа (Приклад 8). Далі поєднуючи ці результати отримаємо:

159.125 10 =10011111.001 2 .

Приклад 12 . Перекладемо число 19673.214 із десяткової системи числення в шістнадцяткову СС. Для цього переведемо окремо цілу частину числа (Приклад 6) та дробову частину числа (Приклад 9). Далі поєднуючи ці результати отримаємо.

Відповідь: 3).Рішення: Старший розряд двійкового еквівалента числа 83 дорівнює 6, оскільки 26 =64. Це максимальний ступінь двійки, який менший за задане число. 83-64 = 19, отже, наступна одиниця стоїть у 4-му розряді. 19-16 = 3. 3-2 = 1, ця одиниця - в нульовому розряді, а число 2 - одиниця в першому розряді Таким чином, одиниці стоять у 0, 1, 4, 6 розрядах, в інших розрядах - нулі. Отримуємо 1010011 2

Обчисліть суму двійкових чисел xі y, якщо

x=1010101 2

Відповідь: 2).Рішення: Згадаймо, що 1 2 +1 2 =10 2 тому 1010101 2

Відповідь: 3, 7, 21.

Варіант 2006


Кількість значних нулів у двійковому записі десяткового числа 126 дорівнює

Відповідь:4).Рішення: x = 1D 16 = 11101 2 , y = 111010 2 11101 2

B1


У системі числення з деякою основою число 17 записується у вигляді 101. Вкажіть цю основу.

Відповідь: основа = 4.Рішення: 17:4 = 4, залишок 1, 4:4 = 1, залишок 0. записуємо останнє приватне і всі залишки в зворотному порядку. Отримуємо 101

Варіант 2007

A4


Скільки одиниць у двійковому записі числа 195?

Відповідь:3).Рішення: 10 8 =1000 2 , 1000 2 · 10 2 =10000 2 , 10 16 =10000 2 У результаті додавання 10000 2 + 10000 2 = 100000 2

Або переведемо выражение10 16 + 10 8 · 10 2 десяткову систему числення. Отримаємо

16 + 8 · 2 = 16 +16 +32 = 100000 2

B1


Вкажіть через кому у порядку зростання всі підстави систем числення, у яких запис числа 22 закінчується на 4.

Відповідь: 6, 9, 18.Рішення: Для переведення числа з десяткової системи числення в будь-яку іншу потрібно ділити це число націло на підставу системи обчислення, що шукається. При першому розподілі ми отримуємо в залишку цілого розподілу останню цифру шуканого числа. 4 у залишку виходить при розподілі числа 22 на 6, 9, 18.

Варіант 2008

A4 Скільки одиниць у двійковому записі десяткового числа 194,5?

1) 5 2) 6 3) 3 4) 4

Відповідь:4).Рішення: Ціла частина числа.Старший розряд двійкового еквівалента числа 194 дорівнює 7, оскільки 27 =128. Це максимальний ступінь двійки, який менший за задане число. 194-128 = 66, отже, наступна одиниця стоїть у 6-му розряді. 66-64 = 2, це одиниця - у першому розряді, Таким чином, у цілій частині числа одиниці стоять в 1, 6, 7 розрядах, в інших розрядах - нулі. Отримуємо 11000010 2 . Дробова частинадесяткового числа 0,5 це 0,1 2 так як двійкова одиниця в -1 розряді це 2 -1 десяткове, тобто 0,5. Отримуємо 194,5 = 11000010,1 2

Як перевести правильну десяткову дроб в будь-яку іншу позиційну систему числення?

Для перекладу правильної десяткової дроби Fу систему числення з основою qнеобхідно Fпомножити на q, записане в тій же десятковій системі, потім дрібну частину отриманого твору знову помножити на q,і т. д., до тих пір, поки дрібна частина чергового твору не стане рівною нулю, або не буде досягнута необхідна точність зображення числа Fв q-Особистій системі. Поданням дробової частини числа Fв новій системіобчислення буде послідовність цілих частин отриманих творів, записаних у порядку їх отримання та зображених однією q-Іншою цифрою. Якщо потрібна точність перекладу числа Fскладає kзнаків після коми, то гранична абсолютна похибка при цьому дорівнює q -(k+1) / 2.


A5 Обчисліть суму чисел x і у,при x = A6 16 y = 75 8 .

Результат уявіть у двійковій системі числення.

Відповідь:3).Рішення: x = A6 16 = 10100110 2 y = 75 8 = 111101 2 10100110 2

B1 Вкажіть через кому у порядку зростання всі підстави систем числення, у яких запис числа 23 закінчується на 2.

Відповідь: 3, 7, 21.Рішення: Для переведення числа з десяткової системи числення в будь-яку іншу потрібно ділити це число націло на підставу системи обчислення, що шукається. При першому розподілі ми отримуємо в залишку цілого розподілу останню цифру шуканого числа. Два у залишку виходить при розподілі числа 23 на 3, 7, 21.

Варіант 2009

A3Дано a = D7 16 b = 331 8 . Яке з чисел з, записаних у двійковій системі, відповідає умові a< c< b?

1) 11011001 2) 11011100 3) 11010111 4) 11011000

Відповідь:4).Рішення: a = 11010111 2

Чотири старші розряди всіх варіантів відповідей та чисел aі bоднакові, тому порівнюватимемо суму ваг молодших чотирьох розрядів. Це для a – 7 10 , b– 9 10 шукаємо відповідь з числом 8 10 у 4-х молодших розрядах. Це 1000 2 , тобто четвертий варіант відповіді.

A4 Чому дорівнює сума чисел 43 8 та 56 16 ?

1) 121 8 2) 171 8 3) 69 16 4) 1000001 2

Відповідь:2).Рішення:

43 8 = 100011 2 56 16 = 1010110 2 1010110

1111001 2 = 171 8

B3 Вкажіть через кому у порядку зростання всі десяткові числа, що не перевершують 25, запис яких у системі числення з основою чотири закінчується на 11.

Відповідь: 5, 21Рішення: Серед десяткових чисел> 4 та<25 остаток 1 при розподілі націло на 4 (остання цифра числа в системі числення з основою 4) тільки у чисел 5, 9, 13, 17, 21. Останні дві цифри 11 приділенні націло на 4 тільки - тільки у числа 5 (залишок 1 та приватне 1) та у числа 21 (перший і другий залишки = 1, тобто дві останні цифри)

Або простіше:

11 4 = 4 1 + 4 0 = 5

111 4 = 4 2 + 5 = 21

1011 4 = 4 3 + 21 > 25

Варіант 2010

A1

Відповідь: 2)Рішення: a = 10011101 2

Видно, що число 4) не підходить, воно більше b, більше a і менше b тільки число 2)

A4

Обчисліть суму чисел X та Y, якщо

Результат уявіть у двійковому вигляді.

Відповідь:4)Рішення: X = 110 111 2 = 67 8

X + Y = 67 8 +135 8 = 224 8 = 10010100 2

A11

Для передачі каналом зв'язку повідомлення, що складається лише з символів А, Б, В і Г використовується посимвольне кодування: А-00, Б-11, В-010, Г-011. Через канал зв'язку передається повідомлення: ВАГБГВ. Закодуйте повідомлення цим кодом. Отриману двійкову послідовність переведіть у шістнадцятковий вигляд.

Тема: Системи числення та двійкове уявленняінформації у пам'яті комп'ютера.

Теорія:

· алгоритм перекладу чисел між десятковою, двійковою, вісімковою та шістнадцятковою системами числення

· Подання негативних цілих чисел у пам'яті в двійковому додатковому коді:
1 спосіб:

1. перевести число в двійкову систему числення,

2. інвертувати біти: замінити нулі на одиниці та одиниці на нулі в межах розрядної сітки,

3. додаємо 1 до результату, переносячи 1 у наступний розряд у випадку 2 одиниць.

2 спосіб:

1. зменшити число на 1 і перевести число в двійкову систему числення,

2. Створити інверсію бітів.

Правила подання чисел у двійковій системі:

1. парні числа закінчуються на 0, непарні – на 1;

2. числа, які поділяються на 4, закінчуються на 00 і т. д.; числа, які поділяються на 2k, закінчуються на kнулів

3. якщо число N належить до інтервалу 2k-1 £ N< 2k, в его двоичной записи будет всего kцифр, наприклад, для числа 125 :

i. 26 = 64 £ 125 < 128 = 27, 125 = 11111цифр)

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

5. 16 = 24 = 100002

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

7. 15 = 24-1 = 11112

якщо відомий двійковий запис числа N, то двійковий запис числа 2N можна легко отримати, приписавши в кінець нуль, наприклад:
15 = 11112, 30 = 60 = 1 120 =

I. Системи числення. А1_1.

1) Як представлено число 8310 у двійковій системі числення?

1) 100103) 10100

Рішення (варіант 1, розподіл на основу системи численняN):

2) послідовно ділимо число 83 на 2 = 3.

Рішення (варіант 2, розкладання на суму ступенів двійки):

1) подаємо число сумою ступенів двійки: 83 = 64 + 16 + 2 + 1 = 26 + 24 + 21 + 20 Þ 3.

2) Як представлено число 25 у двійковій системі числення?

3) Як представлено число 82 у двійковій системі числення?

4) Як представлено число 263 у восьмеричній системі числення?

5) Як записується число 5678 у двійковій системі числення?

6) Як записується число A8716 у восьмеричній системі числення?

7) Як записується число 7548 у шістнадцятковій системі числення?

1) 73AEC16 4) A5616

ІІ. Скільки одиниць (двійкова система). А1_2.

1) Скільки одиниць у двійковому записі числа 1025?

Варіант 1, прямий переклад:

1) переводимо число 1025 у двійкову систему: 1025 =

2) вважаємо «1» Þ 2.

Варіант 2, розкладання на суму ступенів двійки:

1) представляємо число сумою ступенів двійки: 1025 = 1024 + 1 = 210 + 20,

2) скільки у сумі різних ступенів двійки – стільки «1» Þ 2.

2) Скільки одиниць у двійковому записі числа 195?

3) Скільки одиниць у двійковому записі числа 173?

4) Скільки одиниць у двійковому записі числа 64?

5) Скільки одиниць у двійковому записі числа 127?

6) Скільки значних нулів у двійковому записі числа 48?

7) Скільки значних нулів у двійковому записі числа 254?

ІІІ. Відносини. А1_3.

1) Дано : і . Яке з чисел з, записаних у двійковій системі числення, задовольняє нерівності a < c < b ?

1) 110110

Рішення:

1. перевести всі числа в однакову систему числення та порівняти,

2. вибір системи числення –

a. мінімум операцій перекладу,

b. простота аналізу отриманих чисел (2)

Варіант 1 – десяткова система:

3) = 217, 2= 220, = 215, =216

4) правильна відповідь – 216 Þ – 4 .

Варіант 2 – двійкова система:

1) (кожна цифра шістнадцяткової системи окремоперекладається в чотири двійкові – зошит,старші нулі можна не писати);

2) (кожна цифра вісімкової системи окремоперекладається в три двійкові – тріаду , Старші нулі можна не писати);

3) аналізуємо порозрядно число від старшого до молодшого розряду, виділяємо відмінні частини числа br = 10012, ar = 01112, звідси число між - 1000, правильна відповідь - 4.

Варіант 3 – вісімкова/шістнадцяткова система:

1) для 8-чної – потрібно знати двійковий запис чисел від 0 до 7, двійковий запис числа розбиваємо на тріади справа наліво, кожну тріаду перекладаємо окремоу десяткову систему;

2) для 16-чної – потрібно знати двійковий запис чисел від 8 до 15, двійковий запис числа розбиваємо на зошити справа наліво, Кожен зошит переводимо в шістнадцяткову систему; при цьому зошити можна перекладати з двійкової системи десяткову,а потім замінити всі числа, більші за 9, на літери – A, B, C, D, E, F);

2) Дано: https://pandia.ru/text/78/108/images/image008_14.gif" width="59" height="24 src=">..gif" width="60" height="24 src=">.gif" width="65" height="19 src=">?

4) Дано: https://pandia.ru/text/78/108/images/image013_7.gif" width="59" height="24 src=">..gif" width="57" height="24 src=">.gif" width="65" height="19 src=">?

6) Дано: https://pandia.ru/text/78/108/images/image017_4.gif" width="57" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

8) Дано: https://pandia.ru/text/78/108/images/image021_4.gif" width="57" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

10) Дано: https://pandia.ru/text/78/108/images/image013_7.gif" width="59" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

12) Дано: https://pandia.ru/text/78/108/images/image015_4.gif" width="59" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

14) Дано: https://pandia.ru/text/78/108/images/image029_3.gif" width="55" . нерівності ??

19) Який із чисел є найменшим?

20) Який із чисел є найбільшим?

IV. Пам'ять. А1_4.

1. Для зберігання цілого числа із знаком використовується один байт. Скільки одиниць містить внутрішнє уявлення числа (-78)?

Варіант 1.

1) переводимо 78 у двійкову систему числення, додаючи «нулі» до 8 біт у старші розряди:

78 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 21 = 0

3) додаємо одиницю: + 1 = ;

4) у записі числа 4 одиниці Þ відповідь – 2.

Варіант 2.

1) зменшуємо число на 1, переводимо в двійкову систему числення, додаючи «нулі» до 8 біт у старші розряди

77 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 20 = 0

2) робимо інверсію бітів (замінюємо скрізь 0 на 1 та 1 на 0):

3) у записі числа 4 одиниці Þ відповідь – 2.

2. Для зберігання цілого числа із знаком використовується один байт. Скільки одиниць містить внутрішнє уявлення числа (-128)?

3. Для збереження цілого числа зі знаком використовується один байт. Скільки одиниць містить внутрішнє уявлення числа (-35) ?

Для того щоб загалом зрозуміти, як думає комп'ютер, почнемо з самого початку. Комп'ютер, по суті, це багато всякої електроніки, зібраної разом у правильному порядку. А електроніка (до того, як до неї додали програму) розуміє лише одне: включена вона чи вимкнена, є сигнал чи ні сигналу.

Зазвичай "є сигнал" позначають одиницею, а "немає сигналу" - нулем: звідси і вираз, що "комп'ютер говорить мовою нулів і одиниць".

Цю мову нулів та одиниць називають ще двійковою системою числення – тому що в ній лише дві цифри. Наша звична система числення – десяткова, у ній десять цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Але є і безліч інших - вісімкова, п'ятирічна, одинадцяткова і яка завгодно ще.

У нас із вами немає цифри"десять", правда? Число 10 складається з двох цифр- 1 та 0.

Так само у п'ятирічній системі числення нічого очікувати цифри «5», лише 0, 1, 2, 3 і 4.

Порахуємо в п'ятирічній системі: 0, 1, 2, 3, 4, 10 , 11, 12, 13, 14, 20 , 21, 22, 23, 24, 30 , 31, 32, 33, 34, 40 , 41, 42, 43, 44, 100 (!!!), 101, 102 тощо. Можна сказати, що як система числення називається, такої цифри в ній немає. У нашій десятковій немає цифри «10», у п'ятирічній немає цифри «5» (і всіх, які після неї), у вісімковій – «8» тощо.

А у шістнадцятковій «16», наприклад, є! Тому нам шістнадцяткову систему зрозуміти ще складніше. Давайте порахуємо у шістнадцятковій:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10 , 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20 , 21, 22 ... 97, 98, 99, 9A, 9B, 9C, 9D, 9E, 9F, A0, A1, A2 ... F7, F8, F9, FA, FB, FC, FD, FE, FF, 100 , 101, 102, 103, 104, 105, 106, 107, 108, 109, 10A, 10B, 10C і так далі.

Двійкова система числення, втім, теж виглядає дивно для незвичного погляду:

0, 1, 10 , 11, 100 , 101, 110, 111, 1000 , 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000 , 10001…

Ось приблизно такими числами і думає комп'ютер десь у собі. Але людині такими числами думати абсолютно незручно, тому ми перетворимо числа з двійкової на зручнішу систему числення.

В комп'ютерних програмахчасто використовують вісімкову та шістнадцяткову системи: комп'ютеру легко їх зрозуміти (тому що 8=2*2*2, 16=2*2*2*2, а з двійковою системою комп'ютер знайомий спочатку), а для людей це зручно, тому що ближче до звичної десяткової.

Як переводити числа з однієї системи числення в іншу?Щоб зрозуміти принцип, будемо, як ми з вами любимо, розбиратися на цукерках.

І на цукерках ми з вами переводитимемо число 33 у вісімкову систему числення. Ми вирішимо, що одиниці – це самі цукерки, а десятки – це коробки, у кожній із яких лежить по десять цукерок. Ось і вийде, що 33 - це 3 коробки по 10 цукерок і ще 3 цукерки десь збоку.

Але ми переводимо наше цукеркове багатство у вісімкову систему числення, а це означає, що нам треба витрусити всі цукерки зі коробочок по 10, скласти в коробочки по 8 і подивитися, що з цього вийде.

З 33 вийде 4 повних вісімкових коробочки і 1 цукерка залишиться сама по собі, тому що 33/8=4 (зуп. 1). Тобто 33 = 8 * 4 +1 – так у восьмеричній системі числення виходить число 41 .

33 у десятковій – це 41 у вісімковій. Це те саме число, просто розкладене по різних коробочках, переведене в різну основу. Кількість цукерок не змінилася, ми просто вважали їх по-різному!

Двійкова система, як ми вже з'ясували, дивніша і незвичніша для людського погляду. Давайте спробуємо перевести 33 у двійкову – вийде аж 16 коробочок по 2! І що ж робити? Писати 16 якось дивно, пам'ятаючи про те, що в двійковій системі є тільки нуль і одиниця, а шістки, яка нам потрібна для шістнадцяти, точно немає!

Подивимося на нашу десяткову систему. У ній ми рахуємо десятки – 10, 20, 30, 40, 50, 60, 70, 80, 90 – а коли в нас набирається десять десятків, ми дістаємо велику коробку – 100.

У нас 100 - це 10 * 10, 1000 - 10 * 10 * 10, 10 000 - 10 * 10 * 10 * 10 і так далі. Для інших систем числення це працює так само! У вісімковій системі 100 = 8 * 8, 1000 = 8 * 8 * 8; у двійковій 100 = 2 * 2, а 1000 = 2 * 2 * 2; а в шістнадцятковій (є і така, пам'ятаєте?) 100 = 16 * 16, 1000 = 16 * 16 * 16.

Тут нам знадобляться ступеня. Якщо ви їх ще не проходили в школі, не лякайтеся, ступеня це дуже просто. Число в ступеня – це число, що кілька разів помножене на себе. Тобто 5 3 = 5 * 5 * 5 ( п'ятьв третьоїступеня – це п'ять, трирази помножена сама на себе: 5 * 5 * 5), або 8 5 = 8 * 8 * 8 * 8 * 8 ( вісімв п'ятийступеня – це вісім, п'ятьраз помножена на себе: 8*8*8*8*8).

Якщо ми згадаємо про наші 10 000 = 10 * 10 * 10 * 10 в десятковій і 1000 = 8 * 8 * 8 у вісімковій, то можна легко помітити, що скільки нулів, стільки разів і множимо на само себе. Іншими словами, кількість символів у числі мінус один – це ступінь, у який треба звести основу. У числі 1000 у нас чотири символи, значить множити треба 4–1 , тобто 3 рази. Якщо основа 10, то тисяча – це 10, три рази помножена сама на себе: 10*10*10. Якщо основа 8, то тисяча – це 8, три рази помножена сама на себе: 8*8*8.

Про все це ми заговорили, намагаючись перевести 33 у двійкову систему. Просто так поділити це число на коробочки по 2 виявилося скрутним. Але якщо згадати про наші сотні-тисячі, можна замислитися: адже в двійковій 100 = 2 * 2, 1000 = 2 * 2 * 2, 10 000 = 2 * 2 * 2 * 2 і так далі.

Для переведення з десяткової системи до двійкової зручно пам'ятати ступеня двійки. Навіть можна сказати, що без цієї хитрощі зі ступенями ми втомимося, вмиємося і трошки збожеволіємо. А ступеня двійки виглядають якось так:

Тепер, дивлячись на табличку, бачимо, що 33=2 5 +1, тобто 33=2*2*2*2*2+1. Згадуємо – скільки разів множимо, стільки буде нулів – тобто наше 2*2*2*2*2 у двійковій системі буде 100000. Не забудемо одиничку, що залишилася осторонь, і вийде, що 33 у десятковій – це 100001 у двійковій. Правильно та красиво це записують так:

33 10 =100001 2

Давайте (щоб добре зрозуміти) переведемо в двійкову систему число 15.

  1. Насамперед – дивимось у табличку.

а) Яке найближче до 15 число у ній? Ні, 16 не підходить, воно більше, а нам потрібне найближче, яке менше. Виходить, що це 8, тобто 2 3 , Тобто 2 * 2 * 2.

б) Вісім цукерок із 15 розібрали, залишилося – 15-8 – сім. Яка найближча кількість з таблички? Ні, вісім знову не підійде, див. Підійде чотири, тобто 2 2 , тобто 2*2.

в) Чотири із семи цукерок розібрали, залишилося – 7-4 – три. З таблички розуміємо, що найближче число – 2, тобто 2 1 , тобто 2.

г) Три мінус два – залишилася 1 цукерка, тут уже табличка не знадобиться. У таблички такого роду можна не дивитися, коли ваш залишок менший за основу, а наша одиниця точно менша за двійку.

  1. Збираємо все знайдене в табличці разом: 15 = 2 3 + 2 2 + 2 1 + 1, воно ж: 15 = 2 * 2 * 2 + 2 * 2 + 2 + 1.
  2. У двійковій системі 2 * 2 * 2 = 1000, 2 * 2 = 100, 2 = 10, пам'ятаєте? І у нас виходить 1000+100+10+1, тобто 1111.
  3. Отже,

15 10 =1111 2

Коли просто дивишся на всі ці кроки, здається, що це просто звалище з Купи Різних Дивно Написаних Цифр. І заплутатися у всьому цьому вперше – нормально. І на другий, і на третій. Просто спробуйте зробити це ще й ще раз – кроками, як написано вище, і все вийде.

І навпаки, це теж працює! Наприклад, число 11010101 2 – як із нього зробити зрозуміле десяткове? Так само, за допомогою таблички. Ходімо з кінця:

1*2 0 +0*2 1 +1*2 2 +0*2 3 +1*2 4 +0*2 5 +1*2 6 +1*2 7 =

1*1+0*2+1*4+0*8+1*16+0*32+1*64+1*128=

1+0+4+0+16+0+64+128=213

11010101 2 = 213 10

Ось приблизно так комп'ютер розуміє звичні для нас числа.

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

Отже, візьмемо приклад 15+6 і вирішимо його у різних системах числення. Зрозуміло, що у нашій, десятковій, вийде 21. А що вийде, наприклад, у вісімковій?

Перекладаємо 15 у вісімкову систему числення. Перший крок у нас при перекладі в іншу систему – подивитися у табличку ступенів. 8 2 - це вже 64, і в 15 воно точно вже ніяк не влізе, тому беремо 8 1 - тобто просто 8. 15-8 = 7, воно менше нашого підстави 8, тому з ним ми нічого не робимо.

Отже, вийшло, що 15=8 1 +7 .

У вісімковій системі логіка така сама, як, наприклад, у двійковій: 8 3 – це 1000, 8 2 – це 100, 8 1 – це 10. Вийшло, що:

15 10 =17 8

Нагадаю, наш приклад був 15+6. 15 ми перевели у вісімкову систему, як перевести 6? Вона менша за 8, нашої основи, тому відповідь – залишити як є. Наш приклад зараз виглядає так:

15 10 +6 10 =17 8 +6 8

Тепер ми складатимемо у восьмеричній системі числення. Як це робиться? Так само, як і в десятковій, але треба пам'ятати, що десяток у вісімковій системі – це вісім, а не десять, і що 8 та 9 у ній не існує.

Коли ми рахуємо в десятковій системі, по суті, ми робимо так:

15+6=15+5+1=20+1=21

Спробуємо зробити той же фокус у вісімковій системі:

17 8 +6 8 =17 8 +1 8 +5 8 =20 8 +5 8 =25 8

Чому 17+1? Тому що 7+1=8, а 8 – це наш десяток! У вісімковій системі 7+1=10, отже, 17+1=20. Якщо на цьому місці ваш мозок починає бити на сполох і розповідати, що тут щось не так, поверніться на початок статті, де ми з вами рахували в різних системах числення.

Тепер наш приклад виглядає як

15 10 +6 10 =17 8 +6 8 =25 8

Перекладемо 25 8 назад у нашу систему числення. У десятковій ми б, побачивши число 25, могли сказати, що в ньому два десятки та п'ять одиниць. У вісімковій, як ви, напевно, вже здогадалися, число 25 8 – це дві вісімки та п'ять одиниць. Тобто 258 =2 * 8 +5 = 2110.

Отже, наш приклад повністю:

15 10 +6 10 =17 8 +6 8 =25 8 =21 10

Вийшло таке саме 21, яке вийшло у нас на самому початку, коли ми порахували 15+6 звичним нам способом у десятковій системі.

Арифметичні правила не змінюються від того, що ми вибрали іншу систему числення.

Тому і комп'ютер, переводячи все в нулі і одиниці, які для нас виглядають незрозуміло і безглуздо, не втрачає при цьому інформацію, яку ми йому дали, і, порахувавши в зручній йому формі, видати результат, перевівши його назад у звичний нам вигляд.