Додому Інтернет та IT IT-новини Як шістнадцяткова система спрощує бінарний код для розробників

Як шістнадцяткова система спрощує бінарний код для розробників

Шістнадцяткова система числення – це система з основою 16. Вона замінює стандартні десяткові цифри від 0 до 9 літерами від A до F. Таким чином, у вас є 16 різних символів для роботи. Сама назва вказує на її структуру. “Гекса” походить від грецького слова, що означає шість, а “десяткова” відноситься до системи з підставою 10. Разом вони описують систему, яка служить мостом між двома зовсім різними способами рахунку.

Комп’ютери живуть у двійковій системі. Вони спілкуються нулями та одиницями. Люди живуть у десятковій системі. Ми рахуємо на десяти пальцях. Пряме перетворення довгих рядків бінарного коду на те, що людина може швидко прочитати, — це болісно. Це втомлює. Це загрожує помилками. Шістнадцяткова система усуває цю незручність.

Чому шістнадцяткова система важлива у обчисленнях

Основна причина використання шістнадцяткової системи у обчисленнях – це читання. Бінарні рядки notoriously важкі для сприйняття людиною. Один байт даних може мати такий вигляд: 11111011. Легко пропустити один біт. Важко помітити закономірність. Якщо перетворити цей же байт на шістнадцяткову систему, він стане FB. Набагато чистіше. Набагато простіше у роботі.

Оскільки 16 є ступенем двійки ($2^4$), перетворення між двійковою та шістнадцятковою системами є простим. Ви групуєте двійкові цифри чотири. Кожна група ідеально відповідає одній шістнадцятковій цифрі. Ця математична зв’язок робить її природним мостом.

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

Як працюють операції у шістнадцятковій системі

Усі стандартні арифметичні операції, які ви знаєте з десяткової системи, застосовні тут. Ви можете складати, віднімати і множити, використовуючи правила основи 16. Логіка залишається такою самою; змінюються лише символи та точки перенесення.

Розглянемо просте додавання. У десятковій системі $10 + 10 = 20 $. У двійковій це $1010 + 1010 = 10100 $. У шістнадцятковій системі давайте подивимося на $A+B$.

$A$ є 10. $B$ є 11.
$10 + 11 = 21$ у десятковій системі.
У шістнадцятковій системі 21 представляється як 15 (одна шістнадцять та п’ять одиниць).

Отже, $A + B = 15_{16}$.

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

Де використовується шістнадцяткова система

Ви стикаєтеся із шістнадцятковою системою частіше, ніж можете подумати. Вона повсюдно використовується у програмуванні низького рівня. Адреси пам’яті зазвичай відображаються у шістнадцятковому вигляді. MAC-адреси мережевих карток закодовані в шістнадцятковій системі. Навіть коди кольорів у HTML, такі як #FF5733, спираються на цю систему.

Вибір не довільний. Йдеться про ефективність та ясність. Бінарна система надто довга. Десяткова система несумісна з бінарною основою архітектури комп’ютера. Шістнадцяткова система знаходиться посередині. Вона скорочує довжину подань даних

Двійкова система влучна. Але вона нечитальна.

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

Математика проста. Шістнадцяткова система використовує основу 16. Десятична – основа 10. Двійкова – основа 2.

Оскільки 16 більше, ніж 10 і 2, шістнадцяткові рядки коротші. Ви пакуєте більше інформації у меншу кількість символів. Візьміть число, яке потребує 24 цифр у двійковій системі. Це 7 цифр у десятковій. А в шістнадцятковій? Воно скорочується лише до 6 цифр.

Це стиск – не просто економія місця на екрані. Це збереження свідомості.

Де в технологіях зустрічається шістнадцяткова система

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

  • Адреси пам’яті: Осередки оперативної пам’яті (RAM) часто позначаються 16- або 32-бітовими шістнадцятковими кодами.
  • Веб-колір: Код #RRVVBB, який ви бачите в CSS? Це значення червоного, зеленого та синього у шістнадцятковій системі.
  • Мережева безпека: Старі ключі WEP спираються на шістнадцяткову нотацію.
  • Кодування символів: Unicode використовує шістнадцяткову систему для зіставлення символів.
  • Ідентифікатори обладнання: Кожна мережева картка має унікальну MAC-адресу, записану в шістнадцятковій системі.

Як працює система з основою 16

Шістнадцяткова система використовує десять цифр і шість букв.

Від 0 до 9. Потім від A до F.

A дорівнює 10. B – 11. C – 12. D – 13. E – 14. F – 15.

Чому саме ці літери? Тому що після 9 у будь-якій стандартній системі закінчуються цифри. Нам потрібні символи для вищих значень.

Існує прямий зв’язок із двійковою системою. Кожна шістнадцяткова цифра становить рівно чотири біти.

Чотири біти можуть створити 16 унікальних комбінацій (від 0000 до 1111). Це ідеальний збіг.

Візьмемо букву C. У десятковій системі це 12. У двійковій – 1100. Один символ. Чотири біти. Чисте перетворення.

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

Секрет угруповання.

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

Подивіться на це двійкове число:

0111 1010

Розбийте його.

Ліва група: 0111. Це 7.
Права група: 1010. Це 10. У шістнадцятковій системі 10 – це A.

З’єднайте їх. Виходить 7A.

Спробуйте складніший приклад.

Десяткова: 1763.
Двійкове: 11011100011.

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

0110 1110 0011

Тепер прочитайте кожну групу.
0110 – це 6.
1110 – це 14 (E).
0011 – це 3.

Результат: 6E3.

Коротше. Охайніше. Те саме значення.

Як отримати назад десяткове значення

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

Кожна цифра має вагу, що залежить від її місця, вважаючи праворуч наліво, починаючи з 0.

Візьмемо A2F.

F знаходиться у позиції 0. Її значення дорівнює 15. Тобто 15 x 16⁰.
2 перебуває у позиції 1. Її значення дорівнює 2. Тобто 2 x 16¹.
A перебуває у позиції 2. Її значення дорівнює 10. Тобто 10 x 16².

Виконаємо обчислення.
10 х 256 = 2560.
2 х 16 = 32.
15 х 1 = 15.

Складемо їх.
2560+32+15=2607.

Це просто позиційний запис. Як десятки та сотні у звичайній математиці, але зі ступенями числа 16.

ASCII та обмеження базового кодування

Шістнадцяткова система використовується не тільки для чисел. Це спосіб, яким комп’ютери говорять про текст.

ASCII визначає 128 символів. Вона використовує 7 біт. 8-й біт дорівнює нулю.

Ці значення можна порівняти із шістнадцятковими значеннями (від 00 до 7F).

  • 00-1F: Керуючі коди. Не видно. Backspace, сигнал, Enter.
  • 20-2F: Спеціальні символи. Прогалини, розділові знаки, дужки.
  • 30-39: Цифри від 0 до 9.
  • 3A-3F: Додаткові символи. Двокрапка, крапка з комою, коса межа.
  • 41-5A: Великі літери A-Z.
  • 61-7a: Рядкові літери a-z.
  • 7F: Команда видалення.

Це працює для англійської мови. Це жорстко. Це ефективно.

Але

Exit mobile version