2016-02-29 132 views

回答

0

你可以寫一個小功能,要做到這一點,如:

def binary(n, length=5): 
    """ 
    Return a binary string of specified length for this integer 

    The binary string is padded with initial zeros if needed. 
    The default length of 5 can be overriden. 

    EXAMPLES:: 

     sage: binary(3) 
     '00011' 
     sage: binary(3, length=7) 
     '0000011' 
     sage: binary(3, length=1) 
     --------------------------------------------------------------------------- 
     ValueError        Traceback (most recent call last) 
     ... 
     ValueError: Writing 3 in binary requires more than 1 bits 
    """ 
    if length < n.nbits(): 
     raise ValueError('Writing {} in binary requires more than {} bits'.format(n,length)) 
    return '0' * (length-n.nbits()) + n.binary() 

然後使用它,如下所示:

sage: binary(3) 
'00011' 
sage: binary(3, length=7) 
'0000011' 

如果你問的長度太短,它會引發ValueError。

相關問題