Method 1:
You keep dividing by 2 until you have a remainder of 0, or 1. at each loop the remainder of THAT division will be 0 or 1, that is the binary result of that step. Sounds like a while loop.
This is actually backwards as in let’s take 12.
12/2 = 6 no remainder, need to store 0.
6/2=3 no remainder, need to store 0.
3/2 = 1, remainder 1, need to store 1.
1/2= 0 remainder 1, need to store 1.
Now reverse: the binary representation of 12 is 1100.
Let’s take 3.
3/2 = 1, remainder 1, need to store 1.
1/2 = 0, remainder 1, need to store 1.
Now reverse: the binary representation of 3 is 11.
Just need a while loop to continually divide by 2, keep results and reverse for answer.
No need for a single if then/else…
Method 2:
So, how can I convert the binary number 1101 to a good-old decimal number? The best way to this is construct a table in which you can do some simple arithmetic operations to solve the conversion! Let’s try it!
1. First, I want to write the binary number in a row, separating the digits into columns:
|
Number |
1 |
1 |
0 |
1 |
2.
3. Next, I want to decide whether each digit placeholder is “ON” or “OFF.” The reason for this will become a little clearer in a few minutes, but for right now just remember that a “1″ is “ON” and a “0″ is “OFF.” When we calculate the exponential expressions, we don’t have to calculate any digit placeholders that are turned off:
|
Number |
1 |
1 |
0 |
1 |
|
ON/OFF |
ON |
ON |
OFF |
ON |
4.
5. In the third step, we write the exponential expressions (“powers of two”) that represent each placeholder and multiply each expression by 1. We do this only for the placeholders that are turned ON. For the placeholders which are turned OFF, we simply bring down the zero from the number itself:
|
Number |
1 |
1 |
0 |
1 |
|
ON/OFF |
ON |
ON |
OFF |
ON |
|
Exponential |
23*1 |
22*1 |
0 |
20*1 |
6.
7. Now, we can calculate the exponents to get a simple multiplication expression for each placeholder. Again, we do this only for placeholders which are turned “ON.” Again, we bring down the zero if the placeholder is turned “OFF”:
|
Number |
1 |
1 |
0 |
1 |
|
ON/OFF |
ON |
ON |
OFF |
ON |
|
Exponential |
23*1 |
22*1 |
0 |
20*1 |
|
Calculated |
8*1 |
4*1 |
0 |
1*1 |
8.
9. In the fifth step, we solve the multiplication expressions from step #4. Again, we bring down any zeros for placeholders which are turned OFF:
|
Number |
1 |
1 |
0 |
1 |
|
ON/OFF |
ON |
ON |
OFF |
ON |
|
Exponential |
23*1 |
22*1 |
0 |
20*1 |
|
Calculated |
8*1 |
4*1 |
0 |
1*1 |
|
Solved |
8 |
4 |
0 |
1 |
10.
11. In the final step, we add all the multiplication answers from step #5 together to get our decimal number!
|
Number |
1 |
1 |
0 |
1 |
|
ON/OFF |
ON |
ON |
OFF |
ON |
|
Exponential |
23*1 |
22*1 |
0 |
20*1 |
|
Calculated |
8*1 |
4*1 |
0 |
1*1 |
|
Solved |
8 |
4 |
0 |
1 |
|
Add to Calculate |
8+4+0+1=13 |
|||
Let’s take a look at another conversion. This time, we’ll try 101101:
|
Number |
1 |
0 |
1 |
1 |
0 |
1 |
|
ON/OFF |
ON |
OFF |
ON |
ON |
OFF |
ON |
|
Exponential |
25*1 |
0 |
23*1 |
22*1 |
0 |
20*1 |
|
Calculated |
32*1 |
0 |
8*1 |
4*1 |
0 |
1*1 |
|
Solved |
32 |
0 |
8 |
4 |
0 |
1 |
|
Add to Calculate |
32+0+8+4+0+1=45 |
|||||
Why not try some on your own? Convert the following from binary to decimal. Click the answers link for each table for that table’s correct answers:
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Method 3:
Binary numbers all consist of combinations of the two digits ‘0′ and ‘1′. These are some examples of binary numbers:
1
10
1010
11111011
11000000 10101000 00001100 01011101
Engineers and mathematicians sometimes call the binary numbering system a base-two system because binary numbers only contain two digits. By comparison, our normal decimal number system is a base-ten system. Hexadecimal numbers (discussed later) are a base-sixteen system.
Converting From Binary to Decimal Numbers
All binary numbers have equivalent decimal representations and vice versa. Our handy Binary-Decimal Number Converter performs these calculations automatically for you. To convert binary and decimal numbers manually, you must apply the mathematical concept of positional values.
The positional value concept is simple: With both binary and decimal numbers, the actual value of each digit depends on its position (how “far to the left”) within the number.
For example, in the decimal number 124, the digit ‘4′ represents the value “four,” but the digit ‘2′ represents the value “twenty,” not “two.” The ‘2′ represents a larger value than the ‘4′ in this case because it lies further to the left in the number.
Likewise in the binary number 1111011, the rightmost ‘1′ represents the value “one,” but the leftmost ‘1′ represents a much higher value (“sixty-four” in this case).
In mathematics, the base of the numbering system determines how much to value digits by position. For base-ten decimal numbers, multiply each digit on the left by a progressive factor of 10 to calculate its value. For base-two binary numbers, multiply each digit on the left by a progressive factor of 2. Calculations always work from right to left.
In the above example, the decimal number 123 works out to:
3 + (10 * 2) + (10*10 * 1) = 123
and the binary number 1111011 converts to decimal as:
1 + (2 * 1) + (2*2 * 0) + (4*2 * 1) + (8*2 * 1)+ (16*2 * 1) + (32*2 * 1) = 123
Therefore, the binary number 1111011 is equal to the decimal number 123.
Converting From Decimal to Binary Numbers
To convert numbers in the opposite direction, from decimal to binary, requires successive division rather than progressive multiplication. Our Binary-Decimal Number Converter also performs these calculations automatically for you.
To manually convert from a decimal to a binary number, start with the decimal number and begin dividing by the binary number base (base “two”). For each step the division results in a remainder of 1, use ‘1′ in that position of the binary number. When the division results in a remainder of 0 instead, use ‘0′ in that position. Stop when the division results in a value of 0. The resulting binary numbers are ordered from right to left.
For example, the decimal number 109 converts to binary as follows:
109 / 2 = 54 remainder 1
54 / 2 = 27 remainder 0
27 / 2 = 13 remainder 1
13 / 2 = 6 remainder 1
6 / 2 = 3 remainder 0
3 / 2 = 1 remainder 1
1 / 2 = 0 remainder 1
Therefore the decimal number 109 equals the binary number 1101101.