Program w Pythonie do konwersji liczb dziesiętnych na binarne

Program w Pythonie do konwersji liczb dziesiętnych na binarne

Mając na wejściu liczbę dziesiętną, zadaniem jest napisanie programu w Pythonie, który przekonwertuje podaną liczbę dziesiętną na równoważną liczbę binarną.
Przykłady:

Input : 7 Output :111 Input :10 Output :1010 

Metoda nr 1: Rozwiązanie rekurencyjne

DecimalToBinary(num): if num>= 1: DecimalToBinary(num // 2) wydrukuj liczbę % 2 

Poniżej implementacja powyższego rozwiązania rekurencyjnego:

Python3




# Function to convert decimal number> # to binary using recursion> def> DecimalToBinary(num):> > > if> num>> => 1> :> > DecimalToBinary(num> /> /> 2> )> > print> (num> %> 2> , end> => '')> # Driver Code> if> __name__> => => '__main__'> :> > > # decimal value> > dec_val> => 24> > > # Calling function> > DecimalToBinary(dec_val)>

Wyjście

011000 

Metoda nr 2: Dziesiętny na binarny przy użyciu wbudowanej funkcji

Python3




# Python program to convert decimal to binary> > # Function to convert Decimal number> # to Binary number> def> decimalToBinary(n):> > return> bin> (n).replace(> '0b'> , '')> > # Driver code> if> __name__> => => '__main__'> :> > print> (decimalToBinary(> 8> ))> > print> (decimalToBinary(> 18> ))> > print> (decimalToBinary(> 7> ))>

Wyjście

1000 10010 111 

Metoda nr 3: Bez wbudowanej funkcji

Python3




# Python program to convert decimal to binary> > # Function to convert Decimal number> # to Binary number> def> decimalToBinary(n):> > return> '{0:b}'> .> format> (> int> (n))> > # Driver code> if> __name__> => => '__main__'> :> > print> (decimalToBinary(> 8> ))> > print> (decimalToBinary(> 18> ))> > print> (decimalToBinary(> 7> ))>

Wyjście

1000 10010 111 

Szybka metoda ninja: Kod jednowierszowy do konwersji zapisu dziesiętnego na binarny za pomocą danych wprowadzonych przez użytkownika

Python3




# Quick Ninja One line Code> print> (> bin> (> 4785> )[> 2> :])>

Wyjście

1001010110001 

Lub

Python3




# Use this for user input> #decNum = int(input('Enter any Decimal Number: '))> decNum> => 4785> print> (> bin> (decNum)[> 2> :])> decNum1> => 10> print> (> bin> (decNum1)[> 2> :])> decNum2> => 345> print> (> bin> (decNum2)[> 2> :])>

Wyjście

1001010110001 1010 101011001 

Korzystanie z operatora przesunięcia bitowego>>.

Python3




def> dec2bin(number:> int> ):> > ans> => ''> > if> ( number> => => 0> ):> > return> 0> > while> ( number ):> > ans> +> => str> (number&> 1> )> > number> => number>>> 1> > > ans> => ans[::> -> 1> ]> > return> ans> def> main():> > number> => 60> > print> (f> 'The binary of the number {number} is {dec2bin(number)}'> )> # driver code> if> __name__> => => '__main__'> :> > main()>

Wyjście

The binary of the number 60 is 111100 

Korzystanie z wbudowanej metody formatowania:

Inne podejście wykorzystujące wbudowaną funkcję format(). Podejście to polega na konwersji liczby dziesiętnej na liczbę całkowitą, a następnie użyciu funkcji format() ze specyfikatorem formatu „b” w celu przekonwertowania jej na ciąg binarny. Ciąg binarny można następnie wydrukować lub zapisać do późniejszego wykorzystania.

Oto przykład zastosowania tego podejścia:

Pyton




def> decimal_to_binary(decimal_num):> > binary_str> => format> (> int> (decimal_num),> 'b'> )> > return> binary_str> print> (decimal_to_binary(> 7> ))> # prints 111> print> (decimal_to_binary(> 10> ))> # prints 1010> #This code is contributed by Edula Vinay Kumar Reddy>

Wyjście

111 1010