python十進制轉二進制,可指定位數
python十進制轉二進制,可指定位數
# convert a decimal (denary, base 10) integer to a binary string (base 2)tested with Python24 vegaseat 6/1/2005
def Denary2Binary(n): '''convert denary integer n to binary string bStr''' bStr = '' if n < 0: raise ValueError, "must be a positive integer" if n == 0: return '0' while n > 0: bStr = str(n % 2) + bStr n = n >> 1 return bStr
def int2bin(n, count=24): """returns the binary of integer n, using count number of digits""" return "".join([str((n >> y) & 1) for y in range(count-1, -1, -1)])
this test runs when used as a standalone program, but not as an imported module
let's say you save this module as den2bin.py and use it in another program
when you import den2bin the name namespace would now be den2bin and the
test would be ignored
if name == 'main': print Denary2Binary(255) # 11111111
# convert back to test it print int(Denary2Binary(255), 2) # 255 print # this version formats the binary print int2bin(255, 12) # 000011111111 # test it print int("000011111111", 2) # 255 print # check the exceptions print Denary2Binary(0) print Denary2Binary(-5) # should give a ValueError</pre>
本文由用戶 pykde 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!