Python int в двоичную строку? - PullRequest
       163

Python int в двоичную строку?

425 голосов
/ 31 марта 2009

Существуют ли какие-либо стандартные методы Python для преобразования Integer (или Long) в двоичную строку в Python?

В Google существует множество функций dec2bin () ... Но я надеялся, что смогу использовать встроенную функцию / библиотеку.

Ответы [ 32 ]

0 голосов
/ 26 апреля 2014

По аналогии с ответом Юсуфа Язычи

def intToBin(n):
    if(n < 0):
        print "Sorry, invalid input."
    elif(n == 0):
        print n
    else:
        result = ""
        while(n != 0):
            result += str(n%2)
            n /= 2
        print result[::-1]

Я настроил его так, чтобы единственная изменяемая переменная была результатом (и, конечно, n).

Если вам нужно использовать эту функцию где-то еще (т. Е. Использовать результат, использованный другим модулем), рассмотрите следующую настройку:

def intToBin(n):
    if(n < 0):
        return -1
    elif(n == 0):
        return str(n)
    else:
        result = ""
        while(n != 0):
            result += str(n%2)
            n /= 2
        return result[::-1]

Таким образом, -1 будет вашим дозорным значением , означающим, что преобразование не удалось. (Предполагается, что вы конвертируете ТОЛЬКО положительные числа, будь то целые или длинные числа).

0 голосов
/ 10 марта 2017

Вот простой двоично-десятичный преобразователь, который непрерывно зацикливается

t = 1
while t > 0:
    binaryNumber = input("Enter a binary No.")
    convertedNumber = int(binaryNumber, 2)

    print(convertedNumber)

print("")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...