python如何将整数转化成二进制字符串
发布网友
发布时间:2022-04-25 15:53
我来回答
共5个回答
热心网友
时间:2022-04-06 02:04
直接上代码:
#coding=gbk
def intTo2Str( X , K ):
""" intTo2Str( X , K )
将整数 X 转化为 K位2进制字符串
"""
try:
X = long( X)
except:
X = 0
try:
K = int( K)
except:
K = 0
if K<1 :
K = 1
if X<0 :
FH = 1 ; X = -X
else:
FH = 0
A =[ 0 for J in xrange( 0, K ) ]
J = K-1
while (J>=0) and ( X>0):
Y = X % 2
X = X / 2
A[ J ] = Y
J = J - 1
if FH==1:
# 求反
for J in xrange( 0, K):
if A[J] ==1 :
A[J] = 0
else:
A[J] = 1
# 末位加1
J = K - 1
while J>=0:
A[J] = A[J] +1
if A[J]<=1:
break;
A[J] = 0
J = J -1
return "".join([ chr(J+48) for J in A ])
print intTo2Str( 8, 8 ) # 应显示 00001000
print intTo2Str( -1, 8 ) # 应显示 10000000
热心网友
时间:2022-04-06 03:22
>>> num = 1396940819.29708
>>> bin(int(num))
'0b1010011010000111010000000010011'
>>>
热心网友
时间:2022-04-06 04:57
[python] view plain copy
last_mask_str = '11110000'
last_mask_str = str(int(last_mask_str, 2))
print last_mask_str
#240
print bin(int(last_mask_str))
#0b11110000
热心网友
时间:2022-04-06 06:48
首先你可以自己写函数采用%2的方式来算.
但是python自带了方法 bin.
比如bin(12345)回返回字符串'0b11000000111001' 这个时候在把0b去掉即可.
bin(number).replace('0b','')
热心网友
时间:2022-04-06 08:56
'{0:b}'.format(128) # python 3.x 以上