Как это работает
Основание числа указывает, сколько символов оно использует для своего представления. Десятичная (основание 10) использует 0–9; двоичная (основание 2) только 0 и 1; восьмеричная (основание 8) 0–7; а шестнадцатеричная (основание 16) 0–9 плюс буквы A–F.
Значение числа не меняется, меняется только его запись. Этот инструмент берёт число в выбранном основании и мгновенно показывает его в двоичном, восьмеричном, десятичном и шестнадцатеричном виде, а также в любом основании от 2 до 36.
Шестнадцатеричная система популярна в программировании, потому что каждая цифра соответствует ровно 4 битам, так что две цифры представляют байт. Поэтому она используется в цветах CSS, адресах памяти и дампах данных.
Примеры
255FF (hex) · 11111111 (bin) · 377 (oct)255 в десятичной — максимальное значение байта: восемь единиц в двоичной и FF в шестнадцатеричной.2A42 (dec) · 101010 (bin) · 52 (oct)Ввод в шестнадцатеричном виде: 2A равно 42 в десятичном.DEAD57005 (dec)Шестнадцатеричная система допускает «слова» вроде DEAD или BEEF, широко используемые как тестовые значения в памяти.Сценарии использования
- Преобразовать шестнадцатеричное значение цвета, битовой маски или регистра в десятичное, чтобы его понять.
- Преобразовать десятичное число в двоичное для работы с флагами, правами или побитовыми операциями.
- Вручную проверить преобразование, которое выполняет ваш код при чтении или записи данных в разных основаниях.
Часто задаваемые вопросы
Что означают префиксы 0x, 0b и 0o?
Это соглашения для указания основания в коде: 0x предшествует шестнадцатеричному (0xFF), 0b — двоичному (0b1010), 0o — восьмеричному (0o777). Они лишь указывают, как читать следующие за ними цифры.
Почему шестнадцатеричная система использует буквы?
Потому что ей нужно 16 символов, а цифр 0-9 хватает только на десять. Буквы A–F представляют значения 10–15.
До какого основания я могу использовать?
До основания 36, которое исчерпывает десять цифр и 26 букв алфавита (0-9 и A-Z). Это предел того, что можно представить буквенно-цифровыми символами.
Преобразует ли он числа с дробной частью?
Он предназначен для целых чисел. Преобразование дробей между основаниями во многих случаях даёт бесконечные разложения и здесь не поддерживается.