187k views
2 votes
Write a procedure ConvertToBinary that takes an input as a number from 0 to 16 (including 0 but not 16) and converts it to a binary number. The binary number should be returned as a list.

1 Answer

5 votes

Sure, here's an example of a Python function that converts a decimal number to binary and returns the result as a list:

def ConvertToBinary(decimal):

binary = []

while decimal > 0:

remainder = decimal % 2

binary.append(remainder)

decimal = decimal // 2

return binary[::-1]

The function takes in an input decimal which is a number between 0 and 16 (not including 16) and uses a while loop to repeatedly divide the decimal number by 2 and take the remainder. The remainders are then appended to a list binary. Since the remainders are appended to the list in reverse order, the result is reversed by slicing the list [-1::-1] to give the proper order.

You can also add a check to make sure that the input is within the required range:

def ConvertToBinary(decimal):

if decimal < 0 or decimal >= 16:

return None

binary = []

while decimal > 0:

remainder = decimal % 2

binary.append(remainder)

decimal = decimal // 2

return binary[::-1]

this way you can make sure that the input provided is within the allowed range.

User Chris Pushbullet
by
8.0k points