pythonstrto二進制
A. python怎麼把01字元串轉為二進制bytes串
一個例子:
a="01110"
a=bytes(map(int,a))
print(a)
運行截圖:
代碼和結果的截圖
B. python如何將整數轉化成二進制字元串
直接上代碼:
#coding=gbk
defintTo2Str(X,K):
"""intTo2Str(X,K)
將整數X轉化為K位2進制字元串
"""
try:
X=long(X)
except:
X=0
try:
K=int(K)
except:
K=0
ifK<1:
K=1
ifX<0:
FH=1;X=-X
else:
FH=0
A=[0forJinxrange(0,K)]
J=K-1
while(J>=0)and(X>0):
Y=X%2
X=X/2
A[J]=Y
J=J-1
ifFH==1:
#求反
forJinxrange(0,K):
ifA[J]==1:
A[J]=0
else:
A[J]=1
#末位加1
J=K-1
whileJ>=0:
A[J]=A[J]+1
ifA[J]<=1:
break;
A[J]=0
J=J-1
return"".join([chr(J+48)forJinA])
printintTo2Str(8,8)#應顯示00001000
printintTo2Str(-1,8)#應顯示10000000
C. python中怎樣將十進制數轉化為二進制
#!/usr/bin/python# -*- coding:utf-8 -*-# @Time : 2018/6/19 10:20# @Author : # @File : Dec_To_Bin.py"""十進制轉二進制""" # 定義一個十進制轉二進制的函數def dec2bin(string_num): num = int(string_num) # 將傳入的字元串數字轉換成整型 mid = [] # 定義一個空列表 while True: # 循環,條件為真時執行 if num == 0: # 當輸入值是0時,直接跳出循環 break num, rem = divmod(num, 2) # 調用函數divmod,得到商num,和余數rem mid.append(rem) # 將余數存入列表 return ''.join([str(x) for x in mid[::-1]]) # 返回結果,列表取反後拼接成字元串 if __name__ == '__main__': anum = raw_input(u'請輸入要轉換的數字:') print u'該數字轉換為二進制後是:{}'.format(dec2bin(anum))
D. python輸入一個三位數 輸出百位十位個位數字的二進制數
s = 123
for i in list(str(s)):
print(bin(int(i)))
E. python整數轉化為二進制
1、你可以自己寫函數採用 %2 的方式來算。
>>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2)>>> binary(5)'101'>>>
2、採用 python 自帶了方法 bin 函數,比如 bin(12345) 回返回字元串 '0b11000000111001', 這個時候在把0b去掉即可:
>>> bin(12345).replace('0b','')'11000000111001'
3、也可以採用字元串的 format 方法來獲取二進制:
>>> "{0:b}".format(12345)'11000000111001'>>>