2016-04-10 10 views
-1

私はPythonとバイナリのプログラミングと学習を初めて行っています。整数をバイナリに手動で変換したい。私はリストでそれをやろうとしている。私はこれを行う関数があることを知っており、このようにするのは効率的ではありません。ありがとう!数学モジュール(Python)を使用して整数を2進に変換する

import math 

binary = [] 

d = int(raw_input()) 
stepwise = int(math.log(d, 2)) 

while d != 0: 
    x = int(math.log(d, 2)) 
    y = 2 ** x 
    d -= y 

    if stepwise == x: 
     binary.append("1") 
    else: 
     binary.append("0") 

    stepwise -= 1 

print binary 
+2

ご質問はありますか? –

+0

整数をバイナリ文字列に変換するための標準ライブラリ関数があります。 ['bin()'](https://docs.python.org/2/library/functions.html#bin)を使用してください! –

答えて

0

あなたはバイナリに「手動」整数に変換しようとしていると言うので、私はあなたがbin()関数を使用することを望んでいないと仮定しています。ここであなたが試すことができるものがあります。

from math import* 
x= int(raw_input('Enter the decimal number')) 
n=[] 
while x>1: 
    y=int(x%2) 
    n=n+[y] 
    x=floor(x/2.0) 
if x==1: 
    n=n+[1] 
elif x==0: 
    n=n+[0] 
size=len(n) 
print 'binary equivalent =', 
y=-1 
while y>=-size: 
    print n[y], 
    y=y-1 
print '' 
+0

これはあなたが尋ねたものですか? – kanayamalakar

+0

はい、これは私がやろうとしていたものです。ありがとう! –

関連する問題