CompoundPage

Convert Binary to Decimal

11111111 in binary is 255 in decimal, so converting binary to decimal changes the digits and nothing else: both are the same quantity, 255.

Prefixes 0b, 0o and 0x are understood, as are spaces and underscores.

In decimal255

In binary The value as entered.
11111111
In octal
377
In decimal
255
In hexadecimal
ff
Grouped Binary in nibbles of four and hex in bytes of two, which is how both are actually read. Each hex digit is exactly four binary digits, so the two groupings line up. That correspondence is the whole reason hexadecimal exists.
1111 1111 | ff
Fits in Unsigned. A value needing more than 53 bits cannot be held exactly in a JavaScript number, which is why this converter works in BigInt. A float-based converter is silently wrong in the last digits above that.
8 bits
As a character Read as a Unicode code point. This is the 'binary to text' conversion, one character at a time: 65 is A, 97 is a, and the 32 between them is why setting the sixth bit changes case in ASCII.
U+00FF ΓΏ

How the Number Base Converter works

11111111 in binary is 255 in decimal. Both spellings describe the same quantity, 255, and the conversion changes nothing except how it is written.

Every base works the same way: a digit's worth is the base times the worth of the digit to its right. In binary each position is 2 times the last, so 11111111 reads as 1x2^7 + 1x2^6 + 1x2^5 + 1x2^4 + 1x2^3 + 1x2^2 + 1x2^1 + 1x2^0, which comes to 255.

The direction taught first and done by hand most often. The method is to add the place values where a bit is set, doubling rightwards to leftwards: 1, 2, 4, 8, 16, 32, 64, 128. Two shortcuts are worth carrying. A run of n ones is 2^n - 1, so 11111111 is 256 - 1 = 255 without adding anything up. And a 1 followed by n zeros is 2^n exactly, so 10000000 is 128. Between those two facts most binary values a person meets can be read at a glance.

Grouped for reading, that is 1111 1111 in binary and ff in hex. Binary is read in nibbles of four because each nibble is exactly one hex digit; hex is read in pairs because each pair is one byte.

One limit worth knowing about converters generally. A value above 2^53 cannot be held exactly in a floating-point number, and most online converters are built on them, so a 64-bit hash or identifier comes back with its last digits silently wrong. This converter uses arbitrary-precision integers, so the conversion is exact at any size.

Number Base Converter FAQ

What is 11111111 in decimal?

255. In decimal that is 255, and in the other two bases ff and 377.

How do I convert binary to decimal by hand?

The direction taught first and done by hand most often. The method is to add the place values where a bit is set, doubling rightwards to leftwards: 1, 2, 4, 8, 16, 32, 64, 128. Two shortcuts are worth carrying. A run of n ones is 2^n - 1, so 11111111 is 256 - 1 = 255 without adding anything up. And a 1 followed by n zeros is 2^n exactly, so 10000000 is 128. Between those two facts most binary values a person meets can be read at a glance.

Why does this matter outside programming?

Mostly it does not, but two cases leak out. CSS colors are hexadecimal, so anyone adjusting a shade by hand is doing this conversion. And file permissions on any Unix machine are octal, which is why chmod takes numbers like 755.

Will this be exact for very large numbers?

Yes. The arithmetic here is arbitrary-precision, so there is no point at which digits start being approximated. Converters built on ordinary floating-point numbers lose exactness above 2^53, which 64-bit identifiers routinely exceed.

More from the Number Base Converter

Related calculators

Embed this calculator
<div id="compoundpage-number-base-converter"></div>
<script src="https://compoundpage.com/embed/number-base-converter.js" async></script>

The same calculation as JSON