LoginSignup
24
13

More than 5 years have passed since last update.

pythonで2進数を表す

Last updated at Posted at 2018-03-12

そもそも2進数とは?

2進数は英語で「binary number」と言います。

いきなり2進数と言われても、意外と忘れていることも、、、
(僕は完全忘れていました(笑))

そもそも2進数ってなんだろう?
調べてみると分かりやすいサイトがありました!

pythonで2進数を表すには?

pythonで2進数を表す方法には以下の2つが考えられます。

(a)1と0で表された整数(または文字列)を2進数として扱う
(b)ある数値を2進数表記の文字列に変換

詳しく見てみましょう。

(a)1と0で表された整数(または文字列)を2進数として扱う

1と0で表せれた整数の型がint型の場合は、プレフィックス0bをつけると整数を2進数として扱うことができます。

bin_num = 0b10
# 2

ちなみに得られた値の方はint型です。

print(type(bin_num))
# <class 'int'>

 
 
次に1と0で表された整数の型がstr型であれば
 
int(文字列, 基数)で基数をもとに2進数表記の数値に変換できます。ちなみに基数を省略した場合は10進数とみなされます。
 

bin_num = int('10', 2)
# 2

 

また、基数を0にすると、文字列のプレフィックス(0b)をもとに変換されます。
 

bin_num = int('0b10', 0)
# 2

 

(b)ある数値を2進数表記の文字列に変換

bin_str = bin(13)
# 0b1100

print(type(bin_str))
# <class 'str'>

みごと10進数を2進数の文字列に表すことができました!
 
また、format()関数でも表すことができます。この場合はプレフィックス(0b)はつきません。
 

bin_str = format(13, 'b')
print(bin_str)
# 1100

 
 
以上がpythonで2進数を表す方法になります。
他にも方法があると思うので、もっと詳しく調べてみます!

 

引用
 
2進数以外も載っているのでおすすめです。

https://note.nkmk.me/python-bin-oct-hex-int-format/

24
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
13