Погружение в мир шестнадцатеричной системы счисления
Наверное, многие слышали о шестнадцатеричной системе счисления (она же hexadecimal) и даже видели её при работе со своим кодом, когда вместо привычных нулей и единиц в стектрейсе появляется что-то вроде 0×0034ab37. Что это такое, где же те самые нули и единицы, с которыми работает компьютер, и зачем использовать шестнадцатеричную систему? Давайте разбираться.
Немного истории
Цифры играют важную роль в человеческой истории, влияя на науку, культуру и повседневную жизнь. Одними из первых систем счисления, которые дошли до наших времён, являются римские цифры. Эта система возникла в Древнем Риме и использовалась на протяжении веков для записи чисел. Например, число 6 в римском алфавите выглядит как VI. Римские цифры удобны для записи на камне и папирусе, и их не так много:
Пример римский цифр
Каждая из этих цифр представляет собой сочетание символов, которые могут комбинироваться для создания других чисел. Например, число 2024 записывается как MMXXIV. Однако римская система имеет свои ограничения. Она не подходит для сложных математических вычислений, так как отсутствует концепция нуля и нет удобного способа для представления больших чисел или выполнения операций умножения и деления.
Римские цифры активно использовались в архитектуре, нумерации глав книг, на часах и монетах. До сих пор их можно увидеть на исторических зданиях, монументах и даже в современных контекстах, таких как названия кинофильмов или год выпуска продукции.
Интересно отметить, что другие древние цивилизации, такие как египтяне и вавилоняне, также разработали свои уникальные системы счисления. Например, египетские иероглифы включали символы для единиц, десятков, сотен и тысяч, что позволяло им вести достаточно сложные расчеты для строительства пирамид и ведения торговли.
Эти древние системы счисления являются важными историческими артефактами, которые помогают понять эволюцию человеческой мысли и культуры.
Переход от римских цифр к более удобным и универсальным системам, таким как арабские цифры, стал важным шагом в развитии математики и науки, открывая путь к современным технологиям и вычислениям.
Арабские цифры и десятичная система
На помощь пришли арабские цифры, которые стали известны европейцам в X веке и ныне используются в большинстве стран для записи чисел в десятичной системе исчисления.
Важно заметить, что здесь важно не само число, а место, на котором оно стоит. Я имею в виду, что 110 и 101 содержат одинаковый набор чисел, однако место, на котором они находятся, влияет. Так мы понимаем, что число 110 больше, чем 101, и наоборот.
Десятичная система исчисления является самой популярной в мире. Возможно, если бы у человека было меньше пальцев, то более популярными были бы пятеричная или шестеричная системы, но имеем то, что имеем. Наличие десяти пальцев на руке помогает с лёгкостью перебрать все нужные цифры. Но что происходит тогда, когда пальцы на руке заканчиваются? Конечно же, приходят на помощь пальцы на ногах. И после 10 начинается 11, 12 и так далее.
Как это работает?
Теперь давайте разберёмся, как работает система счисления. В десятичной системе после числа 9 идёт 10, то есть мы начинаем заново с 1, добавляя к ней 0. После 19 мы меняем 1 на 2 и начинаем снова: 20, 21, 22 и так далее. Когда доходим до 99, порядок увеличивается, и мы получаем 100. Этот простой алгоритм позволяет легко складывать и умножать числа.
Двоичная система, которой пользуется компьютер, работает аналогично, но использует только два символа: 0 и 1. После 1 идёт 10, затем 11, 100, 101, 110 и так далее. Сложение и умножение в этой системе также просты.
Однако, представьте, что у вас есть два больших двоичных числа: 11110000110010100111010 (7890234 в десятичной системе) и 10001111111000001101001 (4714601 в десятичной системе). Сложить их несложно, но записать результат на бумаге и запомнить его сложно. Вы можете перевести эти числа в десятичную систему и обратно, но это неудобно. Здесь на помощь приходит шестнадцатеричная система.
Что такое шестнадцатеричная система?
Шестнадцатеричная система использует 16 символов: цифры 0–9 и буквы A-F. Например, 10 в десятичной системе становится A в шестнадцатеричной, 15 становится F, а 16 — 10, потому что после F идёт увеличение порядка.
Почему шестнадцатеричная система так популярна?
Причина популярности шестнадцатеричной системы — её простота и удобство. Она позволяет легко записывать количество битов. Например, 4 бита = 2^4 = 16, что соответствует числам от 0 до F. Один байт можно записать двумя шестнадцатеричными числами. Например, двоичное число 111010 можно записать как 0×3A (0x — префикс, обозначающий шестнадцатеричную систему).
Когда мы имеем дело с большими числами, например, 11110000110010100111010, намного удобнее записать их как 0×78653A. Это делает шестнадцатеричную систему незаменимым инструментом в программировании и вычислительных задачах.
Заключение
Шестнадцатеричная система счисления делает работу с большими двоичными числами более удобной и наглядной. Её простота и эффективность делают её незаменимым инструментом в программировании и вычислительных задачах. Теперь, зная основы, вы сможете с лёгкостью использовать её в своей работе.
Больше интересного контента в моем телеграме «Заметки FAANG Инженера»