RGB-цвета
color: #ff8800;color: rgb(255, 136, 0);Каждая пара hex-цифр — это один байт (0–255) на канал. ff = 255, 88 = 136, 00 = 0.
Преобразуйте числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами.
Последнее обновление
Конвертер систем счисления берёт число, записанное в одной системе — двоичной, восьмеричной, десятичной или шестнадцатеричной, — и переводит его в любую другую. Разработчики обращаются к нему, когда читают битовые маски, разбираются с цветами в CSS, расшифровывают флаги в сетевых пакетах, ковыряются в регистрах железа или просто переводят hex в decimal — будь то в ассемблере, фронтенде или криптографии.
Само число при смене системы не меняется — меняется только его *запись*. 255 в десятичной — это 0xFF в hex, 0b11111111 в двоичной и 0o377 в восьмеричной. Четыре разные формы записи одного и того же значения.
Нормальный инструмент должен корректно работать с большими числами. Обычный parseInt в JavaScript молча округляет всё, что больше 2⁵³ — отсюда коварные баги при работе с 64-битными регистрами, идентификаторами и таймстемпами. Хороший конвертер использует BigInt под капотом, поэтому даже 256-битное hex-значение возвращается без искажений.
0xCAFE в двоичной — 1100 1010 1111 1110, и так глазу гораздо легче.Двоичная, восьмеричная, десятичная или шестнадцатеричная — выберите ту, в которой записано ваше число.
Hex принимает и ff, и 0xff. Двоичная — и 1010, и 0b1010. Префикс конвертер обрежет сам.
Все четыре представления одного числа появляются мгновенно. Кликните по любому, чтобы скопировать.
Двоичные числа удобно группировать по 4 бита (1100 1010 1111 1110), hex — по 2 символа (CA FE). Это здорово помогает при разборе битовых полей и дампов памяти.
Часто встречающиеся значения во всех четырёх системах. Синтаксис описан в BigInt и грамматике числовых литералов JavaScript.
| Десятичная | Двоичная | Восьмеричная | Hex |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 100 | 1100100 | 144 | 64 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
| 1024 | 10000000000 | 2000 | 400 |
| 65535 | 1111111111111111 | 177777 | FFFF |
color: #ff8800;color: rgb(255, 136, 0);Каждая пара hex-цифр — это один байт (0–255) на канал. ff = 255, 88 = 136, 00 = 0.
5
0b101
Бит 0 (read) установлен, бит 2 (execute) тоже, а бит 1 (write) — нет. Итого: чтение + выполнение.
Файловые режимы Unix (chmod), фиче-флаги, поля в сетевых пакетах — всё это упаковывает несколько булевых значений в биты одного целого числа. Двоичное представление это сразу проявляет.
0xFFFFFFFFFFFFFFFF
18446744073709551615
Это максимальное беззнаковое 64-битное целое. Обычный parseInt в JavaScript потерял бы точность, а BigInt справляется без потерь.
0x10 и 10 выглядят похоже, но это 16 и 10 — в коде всегда указывайте префикс.parseInt(big, 16) в JavaScript для значений больше 2⁵³. Берите BigInt('0x' + hex).1010: 1·8 + 0·4 + 1·2 + 0·1 = 10. Или просто вставьте число в конвертер — получите ответ мгновенно.255 ÷ 16 = 15, остаток 15 → FF.#ff8800), адреса памяти, дампы файлов, MAC-адреса, хэши и в целом всё низкоуровневое.0755) и в некоторых числовых литералах языков семейства C.