Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Двоїчна, десяткова та шістнадцяткова системи числення | Блоки та Транзакції
Вступ до блокчейну

Двоїчна, десяткова та шістнадцяткова системи числення

Свайпніть щоб показати меню

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

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

Десяткова система, або система з основою 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.

Note
Примітка

Два шістнадцяткових символи представляють 1 байт (8 бітів).

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

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

Двійкова у десяткову

Двійкова: 1101
Десяткова: 123+122+021+120=8+4+0+1=131*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 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
Десяткова система: 1162+10161+3160=256+160+3=4191*16^2 + 10*16^1 + 3*16^0 = 256 + 160 + 3 = 419

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

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

Десяткова система: 419
Шістнадцяткова система: 1A3 (419 поділено на 16 — отримуємо 26, остача 3; 26 поділено на 16 — отримуємо 1, остача 10, що у шістнадцятковій системі дорівнює 'A')

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

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

question-icon

Запишіть правильні представлення наведених чисел у різних системах числення. НЕ використовуйте префікс 0x для шістнадцяткових чисел і префікс 0b для десяткових чисел.

25 (decimal) in binary:

382 (decimal) in hexadecimal:


110010 (binary) in decimal:


CA (hexadecimal) in decimal:
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 2
some-alt