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

热心网友 时间: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 以上

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com