python如何将整数转化成二进制字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何将整数转化成二进制字符串相关的知识,希望对你有一定的参考价值。

直接上代码:

#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

参考技术A
>>> num = 1396940819.29708
>>> bin(int(num))
'0b1010011010000111010000000010011'
>>>

参考技术B

[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 

参考技术C 首先你可以自己写函数采用%2的方式来算.
但是python自带了方法 bin.
比如bin(12345)回返回字符串'0b11000000111001' 这个时候在把0b去掉即可.

bin(number).replace('0b','')
参考技术D '0:b'.format(128) # python 3.x 以上

以上是关于python如何将整数转化成二进制字符串的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何将16进制字符串转化成10进制整数?

python整数转化为二进制

16进制字符串如何转化16进制数值

怎样用C语言将字符转化成十六进制整数

Python中的三大基本数据类型

c语言中如何将字符串转化成整数型并输出?