User Rating 0.0
Total Usage 0 times
0 values detected
Is this tool helpful?

Your feedback helps us improve.

About

Incorrect base conversion produces silent data corruption. A single misread bit in a 32-bit address shifts the result by orders of magnitude. This tool converts numbers from binary (base-2), octal (base-8), or hexadecimal (base-16) into standard decimal integers using the positional notation expansion dn × rn. It handles batch input, validates each token against the legal digit set for the chosen radix, and flags overflow beyond 253 1 (JavaScript's safe integer ceiling). Negative values are accepted via sign prefix.

Limitation: this tool operates within IEEE 754 double-precision bounds. Values exceeding 9,007,199,254,740,991 lose precision. For cryptographic-scale integers, use arbitrary-precision libraries. The converter assumes unsigned interpretation unless a leading minus sign is present. It does not perform two's complement inference automatically - if you need signed 8-bit or 16-bit interpretation, convert the unsigned result manually.

binary to decimal base converter hex to integer octal to decimal number system converter radix conversion

Formulas

Positional notation defines the decimal value of a number in any base. Each digit is multiplied by the radix raised to the power of its position index, counted from zero at the rightmost digit.

N = n1i=0 di × ri

Where N = resulting decimal integer, di = digit at position i, r = radix (base), and n = total number of digits.

For binary 11010110: 1×27 + 1×26 + 0×25 + 1×24 + 0×23 + 1×22 + 1×21 + 0×20 = 214.

The safe integer boundary in JavaScript is 253 1 = 9,007,199,254,740,991. Any input whose decimal result exceeds this value is flagged as potentially imprecise.

Reference Data

BaseNameDigitsExampleDecimal ValueCommon Use
2Binary0, 111010110214CPU registers, bit flags
8Octal0 - 7326214Unix file permissions
16Hexadecimal0 - 9, A - FD6214Memory addresses, colors
2Binary0, 111111111255Max unsigned 8-bit byte
16Hexadecimal0 - FFF255CSS color channel max
2Binary0, 110000000128Sign bit in signed byte
8Octal0 - 7777511chmod full permissions
16Hexadecimal0 - FFFFF65535Max unsigned 16-bit
2Binary0, 111Boolean true
2Binary0, 100Boolean false / null byte
16Hexadecimal0 - F7FFFFFFF2,147,483,647Max signed 32-bit integer
16Hexadecimal0 - FFFFFFFFF4,294,967,295Max unsigned 32-bit
8Octal0 - 7644420Default file permission
16Hexadecimal0 - FA10Newline char (LF)
16Hexadecimal0 - F4165ASCII uppercase "A"
2Binary0, 111111111111111111111111111111111111111111111111111114,503,599,627,370,49552-bit mantissa max

Frequently Asked Questions

The converter validates every token against the legal digit set for the selected radix. Binary accepts only 0 and 1. Octal accepts 0 - 7. Hexadecimal accepts 0 - 9 and A - F (case-insensitive). Invalid tokens are flagged in red in the results table with a descriptive error message. They do not halt processing of other valid tokens in the batch.
JavaScript stores all numbers as IEEE 754 double-precision floats, which provide 53 bits of integer precision. Any integer exceeding 253 1 (9,007,199,254,740,991) cannot be represented exactly. A binary string longer than 53 digits may overflow this limit. The tool detects this and appends a precision warning to the result.
The converter automatically strips common prefixes: 0b or 0B for binary, 0o or 0O for octal, and 0x or 0X for hexadecimal. This means you can paste values directly from programming languages like C, Python, or JavaScript without manual cleanup.
Yes. Prefix the number with a minus sign (e.g., -11010110 in binary yields -214). The tool does not automatically interpret two's complement. If you have a two's complement value like 11111111 representing -1 in signed 8-bit, you must convert it unsigned (255) and apply the two's complement formula manually: subtract 2n where n is the bit width.
The converter supports spaces, commas, semicolons, tabs, and newlines as delimiters. You can also mix delimiters. For example, entering 1010, 1111 0011 will correctly parse three separate binary values: 10, 15, and 3.
No. The converter is case-insensitive. Both ff and FF resolve to decimal 255. Internally, input is normalized to uppercase before validation and display.