Number Base Converter
Конвертує між двійковим, вісімковим, десятковим і шістнадцятковим. BigInt і bitwise з signed-шириною.
Bitwise operations
Про цей інструмент
Number Base Converter переводить integer між binary (base 2), octal (base 8), decimal (base 10) і hexadecimal (base 16). Введіть значення в будь-якому з чотирьох input-полів, інші три оновлюються синхронно. Arbitrary-precision-математика вбудована — вставте 1024-bit hash і все одно отримаєте точну відповідь, без floating-point-округлення.
Друга панель запускає bitwise-операції на тому ж значенні: AND, OR, XOR, NOT, left shift, right shift, arithmetic right shift. Для кожної операції ви обираєте integer-ширину (8/16/32/64 біти, signed або unsigned), щоб two's-complement-представлення показувались правильно — 0xFF — це 255 в u8, але -1 в i8, і інструмент маркує обидва. Live binary-preview підсвічує окремі bit-позиції, щоб ви бачили точно, що флипнуло.
Коли використовувати цей інструмент
- Читання і запис config-флагів. Багато API використовують bitmask-флаги; конверсія
0b10110у22або назад — щоденний податок на цей стиль. - Дебаг hex-dumps. Байт
0xC0у пам'яті? Це192decimal,0b11000000binary. - Обрахунок color-значень. CSS hex-кольори, ANSI escape-коди і image-format byte-streams — усі живуть у hex.
- Робота з file permissions.
0o755↔0b111101101— конверсія — фундамент Chmod Calculator.
Про BigInt і signed widths
НативнийNumber у JavaScript втрачає precision після 2^53. Ми використовуємо BigInt для самого значення, тож будь-який integer, що ви можете написати, влізає. Signed widths мають значення для негативних чисел: two's complement на 8 бітах каже 0b10000000 = -128; на 16 бітах той самий патерн — 32768. Інструмент завжди показує обидві інтерпретації, щоб правильна була під рукою.
Часті запитання
Чому 0xFF показано і як 255, і як -1?
Якого розміру число може обробити інструмент?
Яка конвенція префіксів?
0b для binary (Python, JS, Rust), 0o для octal (Python, JS, Rust — старіша форма bare-leading-zero застаріла), 0x для hex (універсально). Наш інструмент приймає inputs з префіксами або без і завжди emit-ить результати в конвенційній prefixed-формі. C/C++ використовує bare-leading-zero для octal (0755), що є footgun — ми ніколи не виводимо цю форму.
Чому shift-right поводиться інколи по-різному?
>>>) заповнює high-bits нулями — для unsigned-значень. Arithmetic (>>) заповнює sign-бітом — зберігає знак негативних чисел у two's-complement. -8 >> 1 = -4 (arithmetic), але -8 >>> 1 = 2147483644 (logical, 32-bit). Інструмент експонує обидва як окремі кнопки.