Підручники

▷ Двійкова, десяткова, восьмерична та шістнадцяткова система, що це таке і як воно працює

Зміст:

Anonim

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

Зміст індексу

Як здійснити перерахування системи нумерації

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

Системи нумерації

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

Не надто заглиблюючись у математичні терміни визначення, системи, які найбільш використовуються людьми та машинами, будуть такими:

Десяткова система

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

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

Отже, ми можемо представити число у такій системі нумерації таким чином:

Ми бачимо, що десяткове число - це сума кожного значення на базі 10, піднятої до позиції-1, яку займає кожен доданок. Ми пам’ятатимемо це про перетворення в інших системах нумерації.

Двійкова система

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

Ця система нумерації представлена ​​лише двома цифрами, 0 і 1, тому вона заснована на 2 (двох цифрах), і з нею будуть побудовані всі ланцюги цінностей.

Октальна система

Як і в попередніх поясненнях, ми вже можемо уявити, що це стосується восьмеричної системи. Система Октал - це система нумерації, в якій використовується база арифметики 8, тобто у нас буде 8 різних цифр, щоб представити всі числа. Це будуть: 0, 1, 2, 3, 4, 5, 6 і 7.

Шестидесятична система

Дотримуючись попередніх визначень, десяткова система нумерації - це позиційна система нумерації, яка базується на цифрі 16. У цей момент ми запитаємо себе, як ми отримаємо 16 різних чисел, якщо, наприклад, 10 - це комбінація двох чисел різні?

Ну, дуже просто, ми їх вигадали не ми, а ті, хто винайшов цю систему. Числа, які у нас будуть тут, будуть: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E і F. це складає в цілому 16 різних термінів. Якщо ви коли-небудь встановлювали числовий код кольору, він має цей тип нумерації, і саме тому ви побачите, як білий, наприклад, представлений як значення FFFFFF. Пізніше ми побачимо, що це означає.

Перетворення між двійковою і десятковою системою

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

Перетворити число з двійкового в десятковий

Як ми бачили в першому розділі, ми представляємо десяткове число як суму значень, помножених на потужність 10, на позицію-1, яку він займає. Якщо ми застосуємо це до будь-якого двійкового числа з відповідною базою, ми матимемо наступне:

1 0 0 1 1

0

1 · 2 5 1 · 2 4 1 · 2 3 1 · 2 2 1 · 2 1

1 · 2 0

Але звичайно, якби ми зробили процедуру, як у десятковій системі, ми отримали б значення, відмінні від 0 і 1, які є тими, які ми можемо представляти лише в цій системі нумерації.

Але саме це стане дуже корисним для здійснення перетворення в десяткову систему. Обчислимо результат кожного значення у його полі:

1 0 0 1 1

0

1 · 2 5 = 32

1 · 2 4 = 0 1 · 2 3 = 0 1 · 2 2 = 4 1 · 2 1 = 2

1 · 2 0 = 0

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

Десяткове значення 100110 - 38

Нам залишилося лише помножити цифру (0 або 1) на її основу (2), підняту до позиції-1, яку вона займає на рисунку. Додаємо значення і будемо мати число в десятковій частині.

Якщо ви не переконалися, ми зараз проведемо протилежний процес:

Перетворити десяткове число у двійкове

Якщо раніше ми робили множення чисел і суми для визначення десяткового значення, то тепер нам потрібно буде поділити десяткове число на базу системи, в яку ми хочемо перетворити його, в цьому випадку 2.

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

Номер

38 19 9 4 2 1
Відділ

÷ 2 = 19

÷ 2 = 9 ÷ 2 = 4 ÷ 2 = 2 ÷ 2 = 1

-

Відпочинок 0 1 1 0 0

1

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

Отже маємо такий результат: 100110

Як ми бачимо, нам вдалося мати точно таку ж кількість, як і на початку розділу.

Перетворення дробового десяткового числа у двійкове

Як ми добре знаємо, існують не тільки цілі десяткові числа, але ми також можемо знайти реальні числа (дроби). І як система нумерації повинна бути можливість перетворити число з десяткової системи у двійкову. Ми бачимо, як це зробити. Візьмемо для прикладу число 38, 375

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

Процедура буде такою: ми повинні взяти десяткову частину і помножити її на базу системи, тобто 2. Результат множення ми мусимо його помножити ще раз, поки не отримаємо дробову частину 0. Якщо під час множення з’являється дробове число з цілою частиною, нам залишиться лише взяти дріб для наступного множення. Давайте розглянемо приклад, щоб краще зрозуміти його.

Номер

0, 375 0, 75 0, 50
Множення * 2 = 0, 75 * 2 = 1, 50

* 2 = 1, 00

Ціла частина 0 1

1

Як ми бачимо, ми беремо десяткову частину і множимо її знову, поки не досягнемо 1.00, де результат завжди буде 0.

Результат 38, 375 у двійковій формі складе 100 110, 011

Але що станеться, коли ми ніколи не можемо досягти результату 1, 00 у процесі? Давайте подивимось приклад з 38, 45

Номер

0, 45 0, 90 0, 80 0, 60 0, 20 0, 40 0, 80
Множення * 2 = 0, 90 * 2 = 1, 80 * 2 = 1, 60 * 2 = 1, 20 * 2 = 0, 40 * 2 = 0, 80 * 2 = 1, 60
Ціла частина 0 1 1 1 0 0

1

Як ми бачимо , з 0, 80 процес стає періодичним, тобто ми ніколи не закінчимо процедуру, оскільки цифри від 0, 8 до 0, 4 завжди з’являться. Тоді нашим результатом буде наближення десяткового числа, чим далі ми підемо, тим більшу точність ми отримаємо.

Отже: 38, 45 = 100 110, 01110011001 1001

Подивимося, як зробити зворотний процес

Перетворення дробового двійкового числа в десяткове

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

0 1 1 1 0 0

1

0 · 2 -1 = 0 1 · 2 -2 = 0, 25 1 · 2 -3 = 0, 125 1 · 2 -4 = 0, 0625 1 · 2 -5 = 0 1 · 2 -6 = 0 1 · 2 -7 = 0, 0078125

Якщо ми додамо результати, отримаємо:

0, 25 + 0, 125 + 0, 0625 + 0, 0078125 = 0, 4453

Якби ми продовжували проводити операції, ми наблизилися б і наблизилися до точного значення 38, 45

Перетворення між восьмеричною системою та двійковою системою

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

Перетворити число з двійкового в восьмеричне

Перетворення між обома системами нумерації дуже просте, оскільки основа восьмеричної системи така сама, як у двійковій системі, але піднята до потужності 3, 2 3 = 8. Отже, виходячи з цього, ми збираємось згрупувати двійкові терміни в групи по три, починаючи з правого наліво і безпосередньо перетворюючи на десяткове число. Давайте подивимось приклад з числом 100110:

1 0 0 1 1 0
100 110
0 · 2 2 = 4 0 · 2 1 = 0 1 · 2 0 = 0 1 · 2 2 = 4 1 · 2 1 = 2 0 · 2 0 = 0
4 6

Групуємо кожні три цифри і перетворюємо на десяткові. Кінцевим результатом буде 100110 = 46

Але що робити, якщо у нас немає ідеальних груп з 3-х? Наприклад, 1001101, у нас є дві групи з 3 і одна з 1, давайте подивимося, як діяти далі:

0 0 1 0 0 1 1 0 1
001 100 110
0 · 2 2 = 0 0 · 2 1 = 0 1 · 2 0 = 1 0 · 2 2 = 0 0 · 2 1 = 0 1 · 2 0 = 1 1 · 2 2 = 4 1 · 2 1 = 0 1 · 2 0 = 1
1 1 5

Слідуючи процедурі, ми беремо групи праворуч від терміна і, коли доходимо до кінця, заповнюємо стільки нулів, скільки потрібно. У цьому випадку нам знадобилося два, щоб завершити останню групу. Отже 1001101 = 115

Перетворити восьмеричне число у двійкове

Ну, процедура така ж проста, як робити зворотне, тобто переходити від двійкових до десяткових у групах по 3. Давайте подивимось це з числом 115

Значення 1 1 5
Відділ ÷ 2 = 0 0 0 ÷ 2 = 0 0 0 ÷ 2 = 2 ÷ 2 = 1 -
Відпочинок 1 0 0 1 0 0 1 0 1
Групувати 001 001 101

Таким чином ми бачимо, що 115 = 001001101 або те саме, що 115 = 1001101

Перетворення між восьмеричною системою і десятковою системою

Тепер ми розберемося, як виконати процедуру переходу від восьмеричної системи числення до десяткової та навпаки. Ми побачимо, що процедура точно така ж, як і у випадку десяткової та двійкової системи, тільки ми повинні змінити базу на 8 замість 2.

Ми будемо проводити процедури безпосередньо з термінами з дробовою частиною.

Перетворити десятковий номер у вісімку

Дотримуючись процедури десятково-двійкового методу, ми проведемо його на прикладі 238.32:

Ціла частина. Ділимо на базу, яка дорівнює 8:

Номер 238 29 3
Відділ ÷ 8 = 29 ÷ 8 = 3 -
Відпочинок 6 5 3

Десяткову частину множимо на основу, яка дорівнює 8:

Номер 0, 32 0, 56 0, 48 0, 84 0, 72
Множення * 8 = 2, 56 * 8 = 4, 48 * 8 = 3, 84 * 8 = 6, 72 * 8 = 5, 76
Ціла частина 2 4 3 6 5

Отриманий результат такий: 238.32 = 356.24365…

Перетворити восьмеричне число в десятковий

Ну тоді давайте зробимо зворотний процес. Перейдемо восьмеричне число 356, 243 до десяткової:

3 5 6 , 2 4 3
3 · 8 2 = 192 5 · 8 1 = 40 6 · 2 0 = 6 2 · 8 -1 = 0, 25 4 · 8 -2 = 0, 0625 3 · 8 -3 = 0, 005893

Результат: 192 + 40 + 6, 0, 25 + 0, 0625 + 0, 005893 = 238, 318

Перетворення між шістнадцятковою системою і десятковою системою

Потім закінчуємо процес перетворення між шістнадцятковою системою нумерації та десятковою системою.

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

Дотримуючись процедури десятково-двійкового та десятково-восьмого методу, ми проведемо його на прикладі 238.32:

Ціла частина. Ділимо на базу, яка дорівнює 16:

Номер 238 14
Відділ ÷ 16 = 14 -
Відпочинок Е Е

Десяткову частину множимо на основу, яка дорівнює 16:

Номер 0, 32 0, 12 0, 92 0, 72 0, 52
Множення * 16 = 5, 12 * 16 = 1, 92 * 16 = 14, 72 * 16 = 11, 52 * 16 = 8, 32
Ціла частина 5 1 Е Б 8

Отриманий результат такий: 238.32 = EE, 51EB8…

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

Ну тоді давайте зробимо зворотний процес. Перейдемо шістнадцяткове число EE, 51E до десяткової:

Е Е , 5 1 Е
E16 1 = 224 E · 16 0 = 14 5 · 16 -1 = 0, 3125 1 · 16 -2 = 0, 003906 E16 -3 = 0, 00341

Результат: 224 + 14, 0, 3125 + 0, 003906 + 0, 00341 = 238, 3198…

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

Вас також можуть зацікавити:

Якщо у вас є якісь питання, залиште їх у коментарях. Ми спробуємо вам допомогти.

Підручники

Вибір редактора

Back to top button