一昨日購入した『プログラマの数学』がなかなか面白いので、2進数の文字列を10進数の数値にするスクリプトをpythonで書いてみた(10進数の文字列を10進数の数値にも)
#!/usr/bin/env python # *-# -*- coding: utf-8 -*- def bintodecnum(s, num = 2): slen = len(s) - 1 result = 0 for i in s: result += int(i) * (num ** slen) slen -= 1 return result if __name__ == '__main__': #binary to decimal conversion print bintodecnum("1100",2) #decimal number print bintodecnum("2503",10)
結果
12 2503