Subsection 4.3.2 Binary to Decimal
To convert a binary number to its decimal value, we can use almost the same trick, but in reverse:
Step 1: Start with the 'number' you are converting and the 'answer' of 0
Step 2: Multiply your 'answer' by 2
Step 3: Remove the leftmost digit of 'number' and add it to your 'answer'
Step 4: If 'number' has no more digits, you are done
Otherwise, go back to step 2
If we follow this algorithm to convert
into a decimal value, it would look like this:
Step 1: 'number' is 1101 and 'answer' is 0
Step 2: 'answer' is multiplied by 2 - it becomes 0
Step 3: Remove the leftmost digit of 'number' and add it to 'answer'
'number' is now 101 and 'answer' is 1
Step 4: 'number' still has digits, go back to step 2
Step 2: 'answer' is multiplied by 2 - it becomes 2
Step 3: Remove the leftmost digit of 'number' and add it to 'answer'
'number' is now 01 and 'answer' is 3
Step 4: 'number' still has digits, go back to step 2
Step 2: 'answer' is multiplied by 2 - it becomes 6
Step 3: Remove the leftmost digit of 'number' and add it to 'answer'
'number' is now 1 and 'answer' is 6
Step 4: 'number' still has digits, go back to step 2
Step 2: 'answer' is multiplied by 2 - it becomes 12
Step 3: Remove the leftmost digit of 'number' and add it to 'answer'
'number' is now "" (empty) and 'answer' is 13
Step 4: 'number' is empty. We are done, the 'answer' is 13.
As mentioned earlier, the advantage of this algorithm is that it very easily converts into relatively simple computer code. To demonstrate that, the algorithm is implemented in Python in the
codelens below. You DO NOT need to worry about exactly how the Python language works. You will notice that turning the English algorithm above into code requires some changes, but the code shown follows the same process described above. See the “tips” box below the code lens for help running the program.
Checkpoint 4.3.2.
If you use the division method to convert 49 to binary, how many times do you have to do step 2?
5
You are dividing by 2 until you reach 0. 5 divisions won’t get you there
4
You are dividing by 2 until you reach 0. 4 divisions won’t get you there
6
49
You are dividing by 2 until you reach 0. don’t need that many divisions