Binary to Decimal: 3 Easy Methods Compared, Best Pick cover image
Prateek Zare

Written by Prateek Zare

Software Developer with ML and Data Expertise, 8+ years of experience

Last updated

Binary to Decimal: 3 Easy Methods Compared, Best Pick

There are three practical ways to go from binary to decimal by hand, and none of them is best for every number. This guide runs all three on the same value, shows where each one wins, and ends with a decision table so you can pick in a few seconds.

What this guide covers
  1. What binary to decimal actually does
  2. Method 1: add the powers of two
  3. Method 2: double and add
  4. Method 3: group in fours, then use hex
  5. Practice set with answers
  6. The methods side by side
  7. The other fork: unsigned or twos complement?
  8. Who should pick which method

What binary to decimal actually does

Decimal counts in powers of ten, so the 3 in 300 means 3 × 10². Binary counts in powers of two. Every bit is worth double the bit to its right, starting at 1 on the far right. A bit that is 0 adds nothing, a bit that is 1 adds its full weight.

Binary to decimal place values for the first eleven bit positions
Position (from the right)012345678910
Weight12481632641282565121024

Our binary to decimal test value for all three methods is 10110111. It is eight bits long, it has a mix of ones and zeros and it starts with a 1, which will matter in the last section.

Method 1: add the powers of two

Write the weights under the bits, then add the weights that sit under a 1. It is the method taught first because you can see every step.

Binary to decimal of 10110111 laid out by place
Bit10110111
Weight1286432168421
Contribution128032160421

Sum: 128 + 32 + 16 + 4 + 2 + 1 = 183. Six terms, five additions. This is also what the converter shows in its positional breakdown, one cell per bit.

A shortcut for runs of ones

A run of n ones starting at the right equals 2 to the power n, minus 1. So 11111111 is 256 minus 1, which is 255. Likewise 1111111 is 128 minus 1, which is 127.

Method 2: double and add

Start with 0. For each bit from left to right, double the running total and add the bit. You never need the weights, only the ability to double a number. That makes it the natural choice for a stream of bits you read one at a time.

Binary to decimal by double and add on 10110111
Bit readRunning total beforeDoubledAdd bitNew total
10011
01202
12415
1510111
01122022
12244145
14590191
1911821183

Same answer, 183. It takes 7 doublings and 5 additions for this number, slightly more steps than method 1, but each step is a tiny one. This is the same idea as Horner method, the way a processor or a parser reads a number digit by digit.

Method 3: group in fours, then use hex

Split the bits into groups of four, starting from the right. Each group is one hex digit. Then convert the hex digits.

Grouping 10110111
GroupBinaryValueHex digit
High nibble10118 + 2 + 1 = 11B
Low nibble01114 + 2 + 1 = 77

So 10110111 is hex B7, and B7 equals 11 × 16 + 7 = 176 + 7 = 183. Only four small values are involved, and you will remember them quickly: 0001 is 1, 0010 is 2, 0100 is 4, 1000 is 8.

The payoff of this binary to decimal route shows up on longer input. Take 1111000010101010, sixteen bits. Groups: 1111, 0000, 1010, 1010. Hex: F0AA. Then 15 × 4096 + 0 × 256 + 10 × 16 + 10 = 61,440 + 160 + 10 = 61,610. Method 1 would need eight terms of up to 32768 each. If you only need the hex form, a hex to decimal converter takes it from there.

In binary to decimal, what is the unsigned value of 11000000?

The two leftmost bits are set, so add 128 and 64. That is 192, which is also the first number in the address 192.168.1.4.

Practice set with answers

Try each binary to decimal case with the method you think fits, then compare. The hex column doubles as a check for method 3.

Six numbers to convert
BinaryBitsDecimal (unsigned)HexFastest method
1010410APowers of two
1100152519Powers of two: 16 + 8 + 1
10000063220One bit set, so it is 2 to the power 5
1100100710064Powers of two: 64 + 32 + 4
1010101019341155Group in fours: 1, 0101, 0101
11111111111010233FFRun of ten ones: 1024 minus 1

Notice how often a pattern gives the answer away. A single 1 followed by zeros is a pure power of two. A run of ones is a power of two minus 1. Alternating bits such as 101010101 are quick in hex because each nibble repeats.

How to remember the weights

You only need to double. Start at 1 and say it aloud: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024. The last one, 1024, is why a kilobyte in computing was long counted as 1024 bytes. After a few minutes of practice the list is yours.

Type in binary to decimal mode and see decimal, octal and hex update together, with a bit by bit breakdown and an 8 bit signed option.

Open the Binary to Decimal Converter

The methods side by side

Binary to decimal decision table for the three methods
Powers of twoDouble and addGroup in fours
Needs memorisedWeights up to 128 or 256Nothing but doubling16 hex digits, powers of 16
Steps for 101101116 terms, 5 additions7 doublings, 5 additions2 lookups, 1 multiply, 1 add
Steps for 16 bitsUp to 16 terms15 doublings, many adds4 lookups, 3 multiplies
Best lengthUp to 8 bitsAny, if bits arrive in order12 bits and longer
RiskMisplacing a weightArithmetic slip in a long chainWrong nibble split
Best forLearning, examsCode, streamsDebugging registers, masks

Choose powers of two when

  • The number has 8 bits or fewer.
  • You want to see the structure of the number.
  • You are explaining the idea to someone else.

Choose double and add or grouping when

  • Bits arrive one at a time (double and add).
  • The value has 16 or 32 bits (grouping).
  • You are cross checking against a hex dump.

The other fork: unsigned or twos complement?

The binary to decimal methods above give the unsigned value. Computers often store signed integers in twos complement, where the leftmost bit is a sign bit with negative weight. The same eight bits then mean something else.

Same bits, two binary to decimal readings
BitsUnsignedSigned (8 bit twos complement)
01111111127127
10000000128minus 128
10110111183minus 73
11111010250minus 6
11111111255minus 1

To read a signed value that starts with 1, invert every bit and add 1, then put a minus sign in front. For 10110111, the inverse is 01001000, adding 1 gives 01001001, which is 73. So the signed value is minus 73. Another way: take the unsigned value and subtract 256, since 183 minus 256 is minus 73.

Ranges by width
WidthUnsigned rangeSigned range
8 bits0 to 255minus 128 to 127
16 bits0 to 65,535minus 32,768 to 32,767
32 bits0 to 4,294,967,295minus 2,147,483,648 to 2,147,483,647

The binary to decimal converter has a switch for 8 bit signed mode, and the answer to a puzzling result is often that the switch is on or off by mistake. Wikipedia has a clear article on the twos complement representation if you want the proof.

Who should pick which method

Use powers of two. It is transparent and graders can follow every step. Practise until you know weights up to 128 without looking.

Working with other bases too? The octal converter groups bits in threes in the same way that hex groups them in fours.

Short answer for binary to decimalFor 8 bits or fewer, add the powers of two where a 1 appears. For a stream of bits, double and add as you read left to right. For 16 or 32 bits, split into groups of four, read each as hex, then convert. For signed values, apply the twos complement rule. The Binary to Decimal Converter shows the positional breakdown if you want to check your work.

Frequently asked questions about binary to decimal

How do I convert binary to decimal quickly?

Add the weights of the positions that hold a 1. The weights from the right are 1, 2, 4, 8, 16, 32, 64, 128. For 1011 that is 8 + 2 + 1 = 11.

What is 11111111 in decimal?

It is 255 when read as unsigned. If it is an 8 bit signed value in twos complement, the same bits mean minus 1.

Why does my binary number give a negative answer?

The leftmost bit is being treated as a sign bit. Turn off signed mode, or add 256 to an 8 bit negative result to get the unsigned value.

How many bits do I need for a decimal number?

Find the smallest power of two above your number. 255 needs 8 bits, 256 needs 9 bits and 65,535 needs 16 bits.

Is double and add the same as the positional method for binary to decimal?

It gives the same result with a different order of work. Doubling at each step builds the weights as you go, so you never write them down.

Can I convert binary fractions to decimal?

Yes. Bits after the binary point have weights 1/2, 1/4, 1/8 and so on. The converter on this page handles whole numbers.

Sources: Wikipedia: Twos complement