2016-04-10 46 views
-1

我是編程和學習python和二進制文件的新手。我想手動將整數轉換爲二進制。我試圖用列表來做。我知道有這樣做的功能,這樣做效率不高。謝謝!使用數學模塊(Python)將整數轉換爲二進制

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

是的,這正是我想要做的。謝謝! –

相關問題