logo

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)>

>

>

plik otwarty w Javie
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>))>

>

ciąg długości

>

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>:])>

>

>

plik rozszerzenia java
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:

sprawdź wartość null w Javie

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>