- The first, and probably most important step, is to put down this row of values:

In order to remember these values start with the number 1, go from right to left, and double that number seven times. For example, start with 1 on the right side. For your next number, double the 1 (1 x 2 = 2). So, 2 is your next number (remembering to go from right to left). For your third number, double the 2 (2 x 2 = 4); to continue the sequence, double the 4 (4 x 2 = 8). Repeat this process until you’ve doubled your original number, seven times. The key to this is that every single one of the values we put in that row are going to have either number 1 or number 0 assigned to it. To convert the IP address we will take that string of numbers and start from left to right this time. For each value we ask this question: “Can I subtract this value from the decimal remaining?” If the answer is “NO” then you put a “0” under the binary value, and if the answer is “YES” then you put “1” there.
- We take the IP address: 154.31.16.13 and start with the first part, which is 154.
- Question: Can I subtract 128 from 154? Answer: YES. So we assign 1 to 128.

- Question: Can I subtract 64 from 26? Answer: NO. So we assign 0 to 64.

- Question: Can I subtract 32 from 26? Answer: NO. So we assign 0 to 32.

128 | 64 | **32** | 16 | 8 | 4 | 2 | 1 |

1 | 0 | **0** | | | | | |

- Question: Can I subtract 16 from 26? Answer: YES. So we assign 1 to 16.

128 | 64 | 32 | **16** | 8 | 4 | 2 | 1 |

1 | 0 | 0 | **1** | | | | |

- That will give us a remainder of 10. (26-16=10). Question: Can I subtract 8 from 10? Answer: YES. So we assign 1 to 8.

128 | 64 | 32 | 16 | **8** | 4 | 2 | 1 |

1 | 0 | 0 | 1 | **1** | | | |

- That will give us a remainder of 2. (10-8=2). Question: Can I subtract 4 from 2? Answer: NO. So we assign 0 to 4.

128 | 64 | 32 | 16 | 8 | **4** | 2 | 1 |

1 | 0 | 0 | 1 | 1 | **0** | | |

- Question: can I subtract 2 from 2? Answer: YES. So we assign 1 to 2.

128 | 64 | 32 | 16 | 8 | 4 | **2** | 1 |

1 | 0 | 0 | 1 | 1 | 0 | **1** | |

- That will give us a remainder of 0. So for the rest of the values in our row, we can assign 0.

128 | 64 | 32 | 16 | 8 | 4 | 2 | **1** |

1 | 0 | 0 | 1 | 1 | 0 | 1 | **0** |

So now we know that a decimal number 154 is **10011010** converted to binary form. To double check, we take the values assigned with 1 and add them together: 128+16+8+2=154

- Our next number in the IP address is: 31. So we start with a question from step 2 again
- Can I subtract 128 from 31?

- Can I subtract 64 from 31?

- Can I subtract 32 from 31?

128 | 64 | **32** | 16 | 8 | 4 | 2 | 1 |

0 | 0 | **0** | | | | | |

- Can I subtract 16 from 31?

128 | 64 | 32 | **16** | 8 | 4 | 2 | 1 |

0 | 0 | 0 | **1** | | | | |

- Can I subtract 8 from 15 (remember, it’s the remainder)?

128 | 64 | 32 | 16 | **8** | 4 | 2 | 1 |

0 | 0 | 0 | 1 | **1** | | | |

- Can I subtract 4 from 7?

128 | 64 | 32 | 16 | 8 | **4** | 2 | 1 |

0 | 0 | 0 | 1 | 1 | **1** | | |

- Can I subtract 2 from 3?

128 | 64 | 32 | 16 | 8 | 4 | **2** | 1 |

0 | 0 | 0 | 1 | 1 | 1 | **1** | |

- Can I subtract 1 from 1?

128 | 64 | 32 | 16 | 8 | 4 | 2 | **1** |

0 | 0 | 0 | 1 | 1 | 1 | 1 | **1** |

So the decimal number 31 is **00011111** converted to binary form. To double check: 16+8+4+2+1=31

- Next number is 16. I will perform the conversion in one step now.

128 | 64 | 32 | **16** | 8 | 4 | 2 | 1 |

0 | 0 | 0 | **1** | 0 | 0 | 0 | 0 |

So the decimal number 16 is **00010000** converted to binary form.
- Next number is 13.

128 | 64 | 32 | 16 | **8** | **4** | 2 | **1** |

0 | 0 | 0 | 0 | **1** | **1** | 0 | **1** |

So the decimal number 13 is **00001101** in binary form. To double check: 8+4+1=13

So the IP address of 154.31.16.13 has its binary form equivalent of:

**10011010.00011111.00010000.00001101**