Math & Calculators

Number System Tool

Convert between binary, octal, decimal, hex and any custom base. Perform bitwise operations, visualise IEEE 754 floats, and look up ASCII/Unicode characters — all in your browser.

Base Converter
Binary Base 2
Octal Base 8
Decimal Base 10
Hexadecimal Base 16
Custom Base
Bitwise Calculator
Input base:
Result width:
IEEE 754 Float Viewer
ASCII / Unicode Lookup

About This Tool

A multi-tab number system toolkit that runs entirely in your browser. No server, no upload, no data ever leaves your device.

  • Base Converter — instant live conversion between binary, octal, decimal, hexadecimal, and any custom base 2–36, including fractional numbers.
  • Bitwise Calculator — AND, OR, XOR, NOT, NAND, NOR, left/right shift with 8/16/32-bit result visualisation.
  • IEEE 754 Viewer — sign, exponent, and mantissa breakdown for both 32-bit and 64-bit IEEE 754 floats.
  • ASCII / Unicode — look up any character by typing it or entering a code point; shows hex, octal, binary, HTML entity, JS escape, and UTF-8 bytes.

How to Use

  1. Select a tab: Base Converter, Bitwise Calc, IEEE 754, or ASCII / Unicode.
  2. Base Converter: type in any field — all other bases update instantly. Set a custom radix (2–36) in the bottom row.
  3. Bitwise Calc: choose your input base, enter values A (and B if needed), pick an operation, select bit width, click Calculate.
  4. IEEE 754: type any number and see the 32-bit and 64-bit floating-point bit layout with sign/exponent/mantissa colour coding.
  5. ASCII / Unicode: switch between "Character → Code" and "Code → Character" modes. Code points accept decimal, 0x hex, 0b binary, or 0o octal.
  6. Click any copy icon to copy that value to your clipboard.

Logic & Algorithm

  • Base conversion: custom nsFromBase(str, base) parses digit-by-digit including fractions; nsToBase(n, base) converts integer and fractional parts separately. Supports all digit symbols 0–9, a–z (base 36 max).
  • Bitwise ops: JavaScript bitwise operators truncate to signed 32-bit integers; >>> 0 coerces to unsigned 32-bit for display.
  • IEEE 754: Float32Array / Float64Array + DataView are used to read the exact memory representation of a number. Bit fields are extracted from the resulting integer via .toString(2). Exponent bias = 127 (32-bit) or 1023 (64-bit).
  • ASCII / Unicode: String.fromCodePoint + codePointAt for full Unicode support beyond the BMP; TextEncoder generates UTF-8 bytes.

Frequently Asked Questions

What is the maximum base supported by the converter?
Why does the bitwise result show a very large number for NOT?
How does IEEE 754 handle special values like Infinity and NaN?
Does this tool support emoji and non-Latin characters?