A string like 10110011 looks like noise until you know the rules. Binary is base-2, which means each position in the number holds a value that is a power of 2. That is the whole system. Everything else follows from it. This guide walks you through the place-value logic, two worked examples, a comparison with how you already read decimal numbers, a short practice set, and a note on signed integers.
The Place-Value System in Binary
Decimal uses base-10: the rightmost digit is worth 100 (ones), the next is 101 (tens), then 102 (hundreds), and so on. Binary uses exactly the same structure, but with powers of 2 instead of powers of 10.
| Position (from right) | Power of 2 | Decimal value |
|---|---|---|
| 0 (rightmost) | 20 | 1 |
| 1 | 21 | 2 |
| 2 | 22 | 4 |
| 3 | 23 | 8 |
| 4 | 24 | 16 |
| 5 | 25 | 32 |
| 6 | 26 | 64 |
| 7 | 27 | 128 |
A 1 in any position means you include that power of 2 in the total. A 0 means you skip it. That is the only decision binary ever asks you to make.
Reading Left to Right: MSB to LSB
Binary numbers are written with the most significant bit (MSB) on the left and the least significant bit (LSB) on the right. "Most significant" means that bit carries the highest value. "Least significant" means it carries the lowest (always 1 when it is a 1-bit position).
When you read a binary number, scan from left to right to understand what size of number you are dealing with. The leftmost 1 tells you the rough magnitude. Then work from right to left when you are summing up the actual values, because that is where the place-value positions are easiest to count.
Either direction works once you are comfortable. Most people find it easiest to write out the place values across the top of each bit, then multiply and sum.
Worked Example 1: Reading 0101
Take the four-bit number 0101. Write out the positions from right to left:
| Bit | 0 | 1 | 0 | 1 |
|---|---|---|---|---|
| Position | 3 | 2 | 1 | 0 |
| Place value | 8 | 4 | 2 | 1 |
| Included? | No | Yes | No | Yes |
Add the included values: 4 + 1 = 5.
So 0101 in binary equals 5 in decimal. The leading zero does not add anything; it is just a placeholder to fill out a four-bit field.
Worked Example 2: Reading 10110011
Now for an 8-bit number: 10110011. Lay out all eight positions:
| Bit | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
|---|---|---|---|---|---|---|---|---|
| Position | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Place value | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Included? | Yes | No | Yes | Yes | No | No | Yes | Yes |
Sum: 128 + 32 + 16 + 2 + 1 = 179.
The three zeros, at positions 6, 3, and 2, are simply excluded from the total. You never subtract; you only add the places where a 1 appears.
Comparison: Decimal 345 vs. Binary 10110011
Think about how you read the decimal number 345. You know the 3 is in the hundreds position (worth 300), the 4 is in the tens position (worth 40), and the 5 is in the ones position (worth 5). Total: 300 + 40 + 5 = 345. You do this so automatically that it feels like recognition rather than arithmetic.
Binary works the same way. The number 10110011 has a 1 in the 128s position (worth 128), a 1 in the 32s position (worth 32), a 1 in the 16s position (worth 16), a 1 in the 2s position (worth 2), and a 1 in the 1s position (worth 1). The zeros contribute nothing. Sum those five contributions: 179.
The only real difference between reading decimal and reading binary is the base. Decimal places double in value every step going left (1, 10, 100, 1000). Binary places also double every step (1, 2, 4, 8, 16, 32, 64, 128). The structure is identical.
With practice, small binary numbers become as immediate as small decimal ones. Most programmers can read 8-bit values at a glance after a few weeks of regular exposure.
Practice Set
Try converting these yourself before checking the answers.
- 0001
- 1000
- 1111
- 01001010
- 11001100
Answers:
- 0001: only position 0 is 1, so the value is 1.
- 1000: only position 3 is 1, so the value is 8.
- 1111: positions 3, 2, 1, and 0 are all 1, so 8 + 4 + 2 + 1 = 15.
- 01001010: positions 6, 3, and 1 are 1, so 64 + 8 + 2 = 74.
- 11001100: positions 7, 6, 3, and 2 are 1, so 128 + 64 + 8 + 4 = 204.
If you got all five right, you can read binary. If you missed any, go back and check which positions you miscounted. The most common error is shifting the position numbers by one, usually because you started counting from 1 instead of 0.
Signed vs. Unsigned: A Note on Two's Complement
Everything above assumes the number is unsigned, meaning it can only be zero or positive. Real computers often need negative integers, and that requires a convention for representing the minus sign in binary.
The standard approach is two's complement. In a signed 8-bit number, the MSB (position 7) acts as a sign flag rather than a value flag. If the MSB is 0, the number is non-negative and you read it as usual. If the MSB is 1, the number is negative.
To find the magnitude of a negative two's complement number, flip every bit (0 becomes 1 and 1 becomes 0), then add 1 to the result. For example, 11111011: flip to get 00000100 (which is 4), then add 1 to get 5. So 11111011 in signed two's complement is -5.
When you encounter binary data from a program or file, you need to know whether the system treats it as signed or unsigned before you can read it correctly. An 8-bit signed byte ranges from -128 to 127. An 8-bit unsigned byte ranges from 0 to 255. The bit pattern 10000000 equals 128 if unsigned and -128 if signed.
For most casual work with binary numbers, unsigned is a safe assumption unless the context tells you otherwise.
Related Reading
FAQ
What does each digit in a binary number represent?
Each digit (called a bit) represents a power of 2. The rightmost bit is 20 (1), the next is 21 (2), then 22 (4), 23 (8), and so on. A 1 means that power is included in the total; a 0 means it is not.
How many values can 8 binary digits represent?
Eight bits (one byte) can represent 28 = 256 distinct values, ranging from 0 (00000000) to 255 (11111111) when unsigned.
What is the most significant bit?
The most significant bit (MSB) is the leftmost bit in a binary number. It carries the highest place value. In an 8-bit number, the MSB represents 27 = 128. In a signed context, the MSB also indicates whether the number is negative.
What is two's complement and why does it matter for reading binary?
Two's complement is the standard way computers represent negative integers in binary. If the MSB of a signed number is 1, the number is negative. To find its value, flip all bits and add 1. For example, 11111011 in two's complement equals -5. Knowing whether a binary value is signed or unsigned changes how you interpret it.
