1
我想將十進制轉換爲二進制。我期待固定長度的二進制數。例如,如果固定長度是5,3換算爲00011,我需要在聖人的工作,這些如何將十進制轉換爲固定長度的二進制文字
我想將十進制轉換爲二進制。我期待固定長度的二進制數。例如,如果固定長度是5,3換算爲00011,我需要在聖人的工作,這些如何將十進制轉換爲固定長度的二進制文字
你可以寫一個小功能,要做到這一點,如:
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。
想表明您是否曾嘗試過並提示問題出在哪裏? – Rao