1. 二進数から十進数へ
Python で、数値を 2 進数から十進数に変換したい。
2.1 組み込み関数 によると、
int([x[, radix]])
文字列または数値を通常の整数に変換します。… radix 引数は変換の基数を表し、範囲 [2, 36] の整数またはゼロをとることができます。 long([x[, radix]])
文字列または数値を長整数値に変換します。… radix 引数は int() と同じように解釈され、x が文字列の時だけ与えることができます。
int() 関数を、このような目的で使えることを知らなかった。(@_@;)
例えば、2進数を表す文字列 1010 を、十進数に変更する。
>>> print int('1010',2) 10
2. 十進数から二進数へ
十進数から2進数へ変換するには format 関数を使う。
PEP 3101: Advanced String Formatting によると、
In Python 3.0, the % operator is supplemented by a more powerful string formatting method, format(). Support for the str.format() method has been backported to Python 2.6.…
There’s also a format() built-in that will format a single value. It calls the type’s __format__() method with the provided specifier:…
'b' - Binary. Outputs the number in base 2.
Python 2.6 であれば、次のように書ける。例えば、十進数の 10 を、2進数に変換する。
>>> print format (10,'b') 1010
GMPY
を使った方法が紹介されていた。
3. その他
十進法 – Wikipedia によると、
十進記数法は単に十進法と呼ばれることもあるが、これを「10 進法」と書くのは好ましくない。10 が十を意味するのは十進記数法だからであり、例えば二進記数法ならば二を意味する。漢数字にはそのような曖昧さはない。英語でも同様に base 10 より decimal が好まれる。
0コメント:
コメントを投稿