Using Python to convert integer to binary

I am trying to convert an integer to binary. This is my job. I do not know how to make a list to show the binary.

num_str = input("Please give me a integer: ") num_int = int(num_str) while num_int > 0: if num_int % 2 == 0: num_int = int(num_int / 2) num_remainder = 1 print("The remainder is:", 0) continue elif num_int % 2 == 1: num_int = int(num_int / 2) num_remainder = 1 print("The remainder is:", 1) continue 

How to make a balance together?

+6
source share
6 answers

Do you know about the built-in bin function?

 >>> bin(100) '0b1100100' >>> bin(1) '0b1' >>> bin(0) '0b0' 
+15
source

You're on the right track, you just need to save the numbers in a variable somewhere instead of just printing them on the screen:

 num_str = input("Please give me a integer: ") num_int = int(num_str) num_bin_reversed = '' while num_int > 0: if num_int % 2 == 0: num_int = int(num_int / 2) num_remainder = 1 print("The remainder is:", 0) num_bin_reversed += '0' elif num_int % 2 == 1: num_int = int(num_int / 2) num_remainder = 1 print("The remainder is:", 1) num_bin_reversed += '1' num_bin = num_bin_reversed[::-1] if int(num_str) > 0: assert '0b' + num_bin == bin(int(num_str)) 

Now try to fix this by making it work with negative numbers and 0 too!

+3
source
 #First off yes there is an easier way to convert ie bin(int) but where is the fun in that """First we ask the user to input a number. In Python 3+ raw input is gone so the variable integer_number will actually be a string""" integer_number = input('Please input an integer') #get integer whole number off user """We could use int(input('Please input an integer')) but we don't want to overload anyones brains so we show casting instead""" '''Next we convert the string to an integer value (cast). Unless the user enters text then the program will crash. You need to put your own error detection in''' integer_number = int(integer_number) """initialise a variable name result and assign it nothing. This so we can add to it later. You can't add things to a place that doesn't exist""" result = '' '''since we are creating an 8bit binary maximum possible number of 255 we set the for loop to 8 (dont forget that x starts at 0''' for x in range(8): #The variable in the for loop will increase by 1 each time #Next we get the modulos of the integer_number and assign it to the variable r r = integer_number % 2 #then we divide integer number by two and put the value back in integer_value #we use // instead of / for int division els it will be converted to a float point variable integer_number = integer_number//2 #Here we append the string value of r which is an integer to result result += str(r) #This then loops back to the for loop whilst x<8 #then we assign the reverse of result using [::-1] to result result = result[::-1] #print out the result print(result) 
+1
source

You can save the remainder as numbers in a string. Here is one of the possible functions to convert from decimal to binary:

 def dec2bin(d_num): assert d_num >= 0, "cannot convert negative number to binary" if d_num == 0: return '0' b_num = "" while d_num > 0: b_num = str(d_num%2) + b_num d_num = d_num//2 return b_num 
+1
source
 #This is the same code as the one above it just without comments #This program takes a number from the user and turns it into an 8bit binary string integer_number = int(input('Please input an integer')) result = '' for x in range(8): r = integer_number % 2 integer_number = integer_number//2 result += str(r) result = result[::-1] print(result) 
0
source

here is the code that works in python 3.3.0, converts binary to integer and integer to binary, JUST COPY AND PASTE !!!

 def B2D(): decnum = int(input("Please enter a binary number"), 2) print(decnum) welcome() def D2B(): integer_number = input('Please input an integer') integer_number = int(integer_number) result = '' for x in range(8): r = integer_number % 2 integer_number = integer_number//2 result += str(r) result = result[::-1] print(result) welcome() def welcome(): print("*********************************************************") print ("Welcome to the binary converter program") print ("What would you like to do?") print ("Type 1 to convert from denary to binary") print ("Type 2 to convert from binary to denary") print ("Type 3 to exit out of this program") choice = input("") if choice == '1': D2B() elif choice == '2': B2D() elif choice == '3': print("Goodbye") exit welcome() 
0
source

All Articles