# Python Number Converter

Generally speaking, practiced skill cannot be easily forgotten. It is far better to go through the process and practice converting a number, rather than to memorize the process.

Before we get started, have a look at the Tools Page to get started with a Python Interpreter we could use for this exercise.

### Number to Printable Hex

``````def nibble_to_ascii(nibble: int) -> str:
"""
This is a comment
Input: Nibble (4-bits)
Output: Single character HEX as a string
Example: Input = 10, Output = 'A'
Example: Input = 8,  Output = '8'
"""
table = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
return table[nibble]

def to_hex(number: int) -> str:
"""
This is a comment
Input: Number (integer)
Output: String
Example: Input = 43605, Output = "0xAA55"
"""

# Forever loop
while True:
# Integer divide using the // operator
quotient = number // 16
# Get the remainder using the % operator
remainder = number % 16

# Accumulate result

# Set the number we need to use for next time
number = quotient

# We break the "loop" when division turns to zero
if (quotient == 0):
break

Write a function `to_binary()` that takes a number, and returns the string equivalent version of the number in binary. You can borrow the template above of `to_hex()` function and most of the logic might be similar except that we would be dividing number by 2 rather than 16.