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

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

Принцип побудови системи з нулів та одиниць

Двійкова система числення побудована з використанням двох цифр: нуль та один. Чому саме ці цифри? Це з принципом побудови сигналів, які у роботі процесора. На найнижчому рівні сигнал приймає лише два значення: «брехня» та «істина». Тому було прийнято відсутність сигналу, «брехня», позначати банкрутом, а наявність його, «істину», одиницею. Таке поєднання легко реалізувати технічно. Числа у двійковій системі формуються так само, як і в десятковій. Коли розряд досягає свого верхнього кордону, він обнулюється, і додається новий розряд. За таким принципом здійснюється перехід через десяток у десятковій системі. Таким чином, числа складаються з поєднань нулів та одиниць, і це поєднання називається "двійкова система числення".

Запис числа у системі

У десятковій

У двійковій

У десятковій

У двійковій

Як двійкове число записати у вигляді десяткового?

Існують онлайн-сервіси, які здійснюють переведення числа в двійкову системуі навпаки, але краще вміти робити це самостійно. Двійкова система під час перекладу позначається нижнім індексом 2, наприклад, 101 2 . Кожне число в будь-якій системі можна подати у вигляді суми чисел, наприклад: 1428 = 1000 + 400 + 20 + 8 – у десятковій системі. Також представляється число в двійковій. Візьмемо довільне число 101 і розглянемо його. У ньому 3 розряди, тому розкладаємо число по порядку таким способом: 101 2 =1×2 2 +0×2 1 +1×2 0 =4+1=5 10 де індекс 10 позначає десяткову систему.

Як записати просте число у двійковій системі?

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

871: 2 = 435 (залишок 1)

435: 2 = 217 (залишок 1)

217: 2 = 108 (залишок 1)

Відповідь записується за отриманими залишками у напрямку від кінця на початок: 871 10 =101100111 2 . Перевірити правильність обчислень можна за допомогою зворотного переказу, описаного раніше.

Навіщо потрібно знати правила перекладу?

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

Переведення чисел з однієї системи числення до іншої становить важливу частину машинної арифметики. Розглянемо основні правила перекладу.

1. Для перекладу двійкового числау десяткове необхідно його записати у вигляді багаточлена, що складається з творів цифр числа та відповідного ступеня числа 2, та обчислити за правилами десяткової арифметики:

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

Таблиця 4. Ступені числа 2

n (ступінь)

приклад.

2. Для переведення восьмеричного числа до десяткового необхідно його записати у вигляді багаточлена, що складається з творів цифр числа та відповідного ступеня числа 8, та обчислити за правилами десяткової арифметики:

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

Таблиця 5. Ступені числа 8

n (ступінь)

приклад.Число перевести до десяткової системи числення.

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

При перекладі зручно користуватися та блицьою ступенів числа 16:

Таблиця 6. Ступені числа 16

n (ступінь)

приклад.Число перевести до десяткової системи числення.

4. Для переведення десяткового числа в двійкову систему його необхідно послідовно ділити на 2 доти, доки залишиться залишок, менший чи рівний 1. Число в двійковій системі записується як послідовність останнього результату поділу і залишків від поділу у зворотному порядку.

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

5. Для перекладу десяткового числа до вісімкову системуйого необхідно послідовно ділити на 8 до тих пір, поки залишиться залишок, менший чи рівний 7. Число у вісімковій системі записується як послідовність цифр останнього результату поділу і залишків від поділу у зворотному порядку.

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

6. Для переведення десяткового числа до шістнадцяткову системуйого необхідно послідовно ділити на 16 до тих пір, поки залишиться залишок, менший чи рівний 15. Число в шістнадцятковій системі записується як послідовність цифр останнього результату поділу і залишків від поділу у зворотному порядку.

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

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

Розглянемо цей алгоритм на прикладі двох двійкових чисел 1010101 2 та 110111 2:

Результат додавання виглядає як 10001100 2 . Перевіримо результат додавання, для чого переведемо всі числа до десяткової системи числення:

1010101 2 =85 10 , 110111 2 =55 10 , 10001100 2 =140 10 , 85 10 +55 10 =140 10 .

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

Таблиця 2. Приклади запису натуральних чисел від 1 до 16

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

З Таблиці 2видно, що у двійковій системі запис чисел другої вісімки (від 8 до 15) відрізняється від запису першої вісімки (від 0 до 7) наявністю одиниці у четвертому (праворуч) розряді. На цьому заснований алгоритм переведення двійкових чисел у вісімкові «за тріадами». Для застосування цього алгоритму треба розбити двійкове число на трійки цифр (вважаючи праворуч) і записати замість кожної з трійок восьмеричну цифру:

10101101 2 → 10 101 101 → 255 8 .

Крайня ліва трійка може бути неповною (як у прикладі), для отримання повних трійок можна приписати зліва нулі, що відсутні.

Переконаємося у правильності алгоритму:

10101101 2 → 1*2 7 +1*2 5 +1*2 3 +2*2 1 +1*2 0 =173 10 ;

255 8 →2*2 6 +5*2 3 +5*2 0 =173 10 .

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

325 8 → 3 2 5 → 11 010 101 → 11010101 2 .

Для переведення чисел із двійкової системи в шістнадцяткову використовується алгоритм «за зошитами». Рядок двійкових цифр розбивається на четвірки і замість них записуються шістнадцяткові цифри:

10101101 2 → 1010 1101 → AD 16 .

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

З вісімкової системи в шістнадцяткову і назад простіше переводити через двійкову систему:

D5 16 → D 5 →1101 0101 → 11010101 2 → 11 010 101 → 325 8 .

При виконанні завдань на додавання чисел різних систем числення їх потрібно перевести в одну систему числення. Найкраще користуватися тією системою, в якій має бути представлений результат.

Завдання 14. (Завдання А6 демоверсії 2004 р.)

Обчисліть значення суми у десятковій системі числення:

10 2 +10 8 +10 16 = ? 10

Рішення.

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

10 2 +10 8 +10 16 = (1*2 1 +0*2 0) + (1*8 1 +0*8 0) + (1*16 1 +0*16 0) = 2+8+16=26 10 .

Відповідь: 26.

Завдання 15.

Знайдіть суму x+y, якщо x=1110101 2 , y=1011011 2 . Відповідь подайте у вісімковій системі.

Рішення.

Знайдемо суму: 1110101 2 + 1011011 2:

1110101 2 + 1011011 2 = 11010000 2

Перекладемо число, що вийшло, з двійкової системи числення у восьмеричну:

11 010 000 → 320 8 .

Відповідь: 320.

Завдання 16.(Завдання B1 демоверсії 2004 р.)

У системі числення з деякою основою число 12 записується у вигляді 110. Знайдіть цю основу.

Рішення.

Позначимо потрібну основу через n. З правил запису чисел у позиційних численнях 110 n =n 2 +n 1 +0. Складемо рівняння: n 2 +n=12, знайдемо коріння: n 1 =-4, n 2 =3. Корінь n 1 =-4 не підходить, оскільки основа системи числення, за визначенням, натуральне число більше одиниці. Перевіримо, чи підходить корінь n=3:

110 3 =1*3 2 +1*3 1 +0=9+3=12 10

Відповідь: 3.

Завдання17 .

У класі 1111 2 дівчаток та 1100 2 хлопчиків. Скільки учнів у класі?

Рішення.

1111 2 =1*2 3 +1*2 2 +1*2 1 +1*2 0 →8+4+2+1=15 10 .

1100 2 =1*2 3 +1*2 2 +0*2 1 +0*2 0 →8+4=12 10

15 10 +12 10 =27 10

Відповідь: у класі 27 учнів.

Завдання18 .

У саду 100 х фруктових дерев, з них 33 х яблуні, 22 х груші, 16 х слив та 5 х вишень. У якій системі числення пораховано дерева?

Рішення.

100 x = 33 x + 22 x + 16 x + 5 x

1*х 2 =3*х 1 +3*х 0 +2*х 1 +2*х 0 + 1*х 1 +6*х 0 +5*х 0

х 2 =3х+3+2х+2+ 1х+6+5

D=b 2 -4ac=36+4*16=36+64=100

x 1,2 =
= (6±10)/2

x 1 = - 2 – не задовольняє сенс завдання,

x 2 = 8 – основа шуканої системи числення.

Відповідь: дерева пораховані у восьмеричній системі числення.

Завдання19 .

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

Рішення.

Остання цифра в записі числа є залишок від розподілу числа на основу системи числення. Оскільки 17-2=15, то шукані підстави систем числення будуть дільниками 15, це: 3, 5, 15.

Перевіримо нашу відповідь, представивши число 17 у відповідних системах числення:

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

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

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

Оскільки ми маємо десяткову систему числення, ми маємо 10 символів (цифр) для побудови чисел. Починаємо порядковий рахунок: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифри закінчились. Ми збільшуємо розрядність числа і обнулюємо молодший розряд: 10. Потім знову збільшуємо молодший розряд, доки не закінчаться всі цифри: 11, 12, 13, 14, 15, 16, 17, 18, 19. Збільшуємо старший розряд на 1 і обнулюємо молодший: 20. Коли ми використовуємо всі цифри для обох розрядів (отримаємо число 99), знову збільшуємо розрядність числа і обнулюємо розряди: 100. І так далі.

Спробуємо зробити те саме в 2-й, 3-й і 5-й системах (введемо позначення для 2-ї системи, для 3-ї і т.д.):

0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

Якщо система числення має основу більше 10, нам доведеться вводити додаткові символи, прийнято вводити літери латинського алфавіту. Наприклад, для 12-річної системи крім десяти цифр нам знадобляться дві літери ( і ):

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

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

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

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

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

приклад 3.Перекладемо десяткове число 934 в шістнадцяткову систему числення.

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

Щоб навчитися переводити числа з будь-якої іншої системи в десяткову, проаналізуємо звичний нам запис десяткового числа.
Наприклад, десяткове число 325 - це 5 одиниць, 2 десятки та 3 сотні, тобто.

Так само і в інших системах числення, тільки множити будемо не на 10, 100 і ін., а на ступеня заснування системи числення. Наприклад візьмемо число 1201 в трійковій системіобчислення. Пронумеруємо розряди праворуч наліво починаючи з нуля і представимо наше число як суму творів цифри на трійку в міру розряду числа:

Це десятковий запис нашого числа, тобто.

приклад 4.Перекладемо в десяткову систему числення вісімкове число 511.

Приклад 5.Перекладемо в десяткову систему числення шістнадцяткове число 1151.

4. Переведення з двійкової системи до системи з основою «ступінь двійки» (4, 8, 16 тощо).

Для перетворення двійкового числа на число з основою «ступінь двійки» необхідно двійкову послідовність розбити на групи за кількістю цифр рівною мірою праворуч наліво і кожну групу замінити відповідною цифрою нової системиобчислення.

Наприклад, Переведемо двійкове число у вісімкову систему. Для цього розіб'ємо його на групи по 3 символи починаючи праворуч (т.к. ), а потім скористаємось таблицею відповідності та замінимо кожну групу на нову цифру:

Таблицю відповідності ми навчилися будувати у п.1.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

Тобто.

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

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

5.Переклад із системи з основою «ступінь двійки» (4, 8, 16 і т.д.) у двійкову.

Цей переклад аналогічний попередньому, виконаному в зворотний бік: кожну цифру замінюємо групою цифр у двійковій системі з таблиці відповідності.

Приклад 7.Перекладемо шістнадцяткове число С3A6 двійкову систему числення.

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