User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Case-insensitive. Use A–Z for digits above 9. Decimal point allowed.
Enter a number and click Convert
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

Positional numeral systems encode quantity using a fixed set of digits weighted by powers of a radix r. A digit d at position k contributes d ร— rk to the total value. Misinterpreting the base of an address, register dump, or protocol field corrupts data silently. A hex byte FF is 255 in decimal but 11111111 in binary. This tool converts integers and fractions between any radix from 2 to 36 using arbitrary-precision integer arithmetic for the whole part and iterative multiplication for fractional digits (capped at 20 places). It does not round-trip through IEEE 754 floats for integers, so values like 264 convert without loss.

Limitations: fractional conversion may produce repeating expansions that are truncated. Negative numbers are handled via a sign flag, not two's complement. The digit alphabet follows the conventional 0 - 9, A - Z mapping (ISO 9899 / C99 strtol convention). Pro tip: when debugging network protocols, convert between base 16 and base 2 directly rather than routing through decimal to preserve bit-group readability.

base converter number base radix converter binary converter hex converter octal converter base 2 to 36 number system

Formulas

A number N in base r with digits dn dnโˆ’1 โ€ฆ d1 d0 . dโˆ’1 dโˆ’2 โ€ฆ has decimal value:

N10 = nโˆ‘k=โˆ’m dk โ‹… rk

To convert the integer part from base 10 to target base b, apply repeated division:

q = โŒŠ Nb โŒ‹ , โ€‚ dk = N mod b

Digits are collected least-significant first, then reversed. For the fractional part F, iterative multiplication extracts digits most-significant first:

dโˆ’j = โŒŠ F ร— b โŒ‹ , โ€‚ F โ† (F ร— b) โˆ’ dโˆ’j

Where r = source radix, b = target radix, dk = digit value at position k, n = number of integer digits โˆ’ 1, m = number of fractional digits, q = quotient, F = fractional remainder.

Reference Data

BaseNameDigits UsedCommon UseExample (25510)
2Binary0-1CPU registers, bitfields11111111
3Ternary0-2Balanced ternary computing100110
4Quaternary0-3DNA encoding (A,T,C,G)3333
5Quinary0-4Tally systems2010
6Senary0-5Dice arithmetic1103
7Septenary0-6Week-day indexing513
8Octal0-7Unix file permissions (chmod)377
9Nonary0-8Theoretical CS313
10Decimal0-9Everyday counting255
11Undecimal0 - AISBN check digits212
12Duodecimal0 - BDozen systems, timekeeping193
13Tridecimal0 - CRare/theoretical168
14Tetradecimal0 - DProgramming exercises143
16Hexadecimal0 - FMemory addresses, colors (#FF)FF
20Vigesimal0 - JMaya calendar, French 80=4ร—20CF
32Duotrigesimal0 - VBase32 encoding (RFC 4648)7V
36Hexatrigesimal0 - ZURL shorteners, compact IDs73
60SexagesimalMixedTime (h:m:s), angles (degrees)4:15
64Base64A - Z,a - z,0-9,+,/Email attachments (MIME)N/A (byte-oriented)

Frequently Asked Questions

The fraction 0.1 in base 10 is 1 รท 10. Since 10 has a prime factor of 5 that does not divide 2, the binary expansion is non-terminating: 0.0001100110011โ€ฆ repeating with period 4. This tool truncates at 20 fractional digits. Any base conversion involving fractions may produce repeating expansions when the denominator shares no common factors with the target base.
For integer inputs, the tool parses the source value into a JavaScript BigInt, which supports arbitrary-precision arithmetic. Division and modulo operations on BigInt are exact. IEEE 754 doubles lose precision beyond 253 (9,007,199,254,740,992), but BigInt does not. Fractional parts still use standard floating-point math, so precision there is limited to roughly 15 - 17 significant decimal digits.
The tool follows the C99 strtol convention: digits 0 - 9 represent values 0 - 9, letters A - Z (case-insensitive) represent values 10 - 35. For base 16, valid digits are 0 - 9 and A - F. Entering a digit whose value equals or exceeds the source base triggers a validation error.
Negative numbers are handled by stripping the leading minus sign, converting the absolute value, then prepending the minus to the result. Two's complement is not used because it requires a fixed bit-width, which varies by architecture (8, 16, 32, 64 bits). If you need two's complement, convert the absolute value to binary and invert bits manually for your target width.
The digit alphabet uses 10 Arabic numerals plus 26 Latin letters, yielding 36 unique symbols. Bases above 36 (like base 60 or 64) require multi-character digit tokens or non-standard symbol sets, which changes the encoding scheme from a simple positional system to a byte-oriented encoding protocol (e.g., Base64 per RFC 4648).
Yes. Enter the hex value without the # prefix (e.g., FF8800) with source base 16. Convert to base 10 to get the integer color value (16,746,496), or to base 2 to inspect individual RGB channel bits. Each color channel occupies 8 bits in the 24-bit result.