Двоїчна, десяткова та шістнадцяткова системи числення
Свайпніть щоб показати меню
У сфері блокчейну та обчислень розуміння систем числення є фундаментальним, зокрема двійкової, десяткової та шістнадцяткової.
Десяткова система
Десяткова система, або система з основою 10, є нашою повсякденною системою підрахунку та використовує десять цифр: від 0 до 9. Хоча вона не використовується безпосередньо в механіці блокчейну, саме цю систему ми застосовуємо для інтерпретації значень.
Двійкова система
Двійкова система, або система з основою 2, є основною мовою комп'ютерів, що представляє значення за допомогою двох цифр: 0 та 1. Кожна цифра у двійковій системі називається бітом — базовою одиницею інформації. Наприклад, число 4 у двійковій системі — це 100.
Однак у комп'ютерній пам'яті кількість бітів для цілого числа потрібно визначити заздалегідь. Припустимо, ми хочемо використовувати 8 бітів (1 байт) для цілого числа, тобто ціле число має завжди займати вісім цифр незалежно від того, чи використовуються всі вони. Число 4 буде представлено так: 00000100.
Розглянемо десяткові числа від 0 до 4, представлені як 8-бітові (1-байтові) цілі числа у двійковій системі:
Шістнадцяткова система
Шістнадцяткова система числення, або система з основою 16, розширює десяткову систему до шістнадцяти символів: від 0 до 9, а також a до f (a = 10, b = 11, ..., f = 15). Крім того, шістнадцяткові числа часто мають префікс 0x. У комп'ютерних науках шістнадцяткова система забезпечує більш зручне для людини представлення двійкових значень.
Вона компактна й легша для сприйняття, ніж двійкова, особливо для великих чисел. Наприклад, заголовки блоків у Bitcoin зберігаються у шістнадцятковому вигляді, але обробляються у двійковому.
Розширимо таблицю вище шістнадцятковими представленнями однобайтових цілих чисел від 0 до 15:
Аналогічно до шістнадцяткових чисел, двійкові числа також іноді мають префікс із символів 0b.
Два шістнадцяткових символи представляють 1 байт (8 бітів).
Перетворення двійкової/десяткової систем
Щоб перетворити двійкове число у десяткове, помножте кожен біт на 2, піднесену до степеня його позиції зправа наліво, починаючи з 0, і підсумуйте результати. Ось приклад:
Двійкова: 1101
Десяткова: 1∗23+1∗22+0∗21+1∗20=8+4+0+1=13
Щоб перетворити десяткове число у двійкове, поділіть число на 2 і запишіть остачу. Продовжуйте ділити частку на 2, поки не отримаєте частку, що дорівнює нулю. Двійкове число — це остачі, записані у зворотному порядку.
Розглянемо приклад:
Десяткова система: 13
Двійкова система: 1101 (13 поділити на 2 — 6 у залишку 1, 6 поділити на 2 — 3 у залишку 0, 3 поділити на 2 — 1 у залишку 1, 1 поділити на 2 — 0 у залишку 1)
Перетворення шістнадцяткової та десяткової систем
Щоб перетворити число з шістнадцяткової системи у десяткову, кожну шістнадцяткову цифру переводять у десяткову, а потім, аналогічно до двійкової системи, множать кожну отриману цифру на 16, піднесену до степеня її позиції справа наліво, починаючи з 0, і додають результати.
Шістнадцяткова система: 1A3
Десяткова система: 1∗162+10∗161+3∗160=256+160+3=419
Для перетворення десяткового числа у шістнадцяткове поділіть число на 16 і запишіть остачу. Продовжуйте ділити частку на 16, поки не отримаєте частку, що дорівнює нулю. Шістнадцяткове число утворюється з остач, прочитаних у зворотному порядку.
Десяткова система: 419
Шістнадцяткова система: 1A3 (419 поділено на 16 — отримуємо 26, остача 3; 26 поділено на 16 — отримуємо 1, остача 10, що у шістнадцятковій системі дорівнює 'A')
Перетворення між двійковою та шістнадцятковою системами числення
Щоб перетворити двійкове число у шістнадцяткове або навпаки, спочатку можна перевести його у десяткову систему, а потім — з десяткової у відповідну систему числення.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат