189k views
2 votes
Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is: As long as x is greater than 0 Output x modulo 2 (remainder is either 0 or 1) Assign x with x divided by 2

User Nanitous
by
4.9k points

1 Answer

4 votes

Answer:

Following are the code to this question:

def binarynumber(num):#defining a method binarynumber that accepts a parameter num

x=""#defining a string variable x

if (num!=0):#defining if condition to check number not equal to 0

while (num>=1):#defining a loop that check value is grater then equal to one

if (num %2==0):#defining if condition to check num is even

x=x+"0" #add string value 0 in num variable

num=num/2 #divide the value by 2

else:#defining else block

x=x+"1"#add string value 1 in num variable

num=(num-1)/2#first subtract 1 into num variable then divide the value by 2

else:

x="0"#assign string value 0 in num variable

return "".join(reversed(x))#return value

num = int (input ("Enter any number: "))#defining num variable that input the integer value

print (binarynumber(num))#using print method to call method binarynumber with passing num parameter

Output:

Enter any number: 12

1100

Step-by-step explanation:

  • In the above python code a method "binarynumber" is declared, in which the "num" variable passes as the parameter inside the method a string variable "x" is declared that stores all converted values.
  • Inside the method and if the block is declared that checks number value is not equal to 0 if this condition is false then it will add string value and reverse its value.
  • Or if the condition is true it defines a while loop that calculates the given number binary digits and returns its value.
  • At the last step, the num variable is declared that inputs the integer value from the user end and calls the method by using the print method.
User Riad Krim
by
5.2k points