←目次へ
python,Qiita初心者なので、備忘録として記載していきます。
なにせ初心者なので、知識不足はご容赦ください。
知識を深めながら追記していきたいと思います。
2進数とは
基本
- 0と1の組み合わせで表現される数字
- それぞれの桁の数字が「2」になると桁上がりする
- 10進数を2進数で表すと次のようになる
10進数 | 2進数 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
11 | 1011 |
12 | 1100 |
13 | 1101 |
14 | 1110 |
15 | 1111 |
16 | 10000 |
~ | ~ |
位の説明
- 位は右から順に
位 | 2の累乗 |
---|---|
1 | 0 |
2 | 1 |
4 | 2 |
8 | 3 |
16 | 4 |
32 | 5 |
64 | 6 |
128 | 7 |
256 | 8 |
512 | 9 |
1024 | 10 |
2048 | 11 |
10進数への変換
2進数の100101という数字があったとする
pythonでの変換
# pythonの場合プレフィックス0bを付ける
>>> 0b100101
37
分かりやすく説明すると位の表を基準に次にように分解できる
100101:(222221)
+
100101:(22220)
+
100101:(2220)
+
100101:(221)
+
100101:(20)
+
100101:(1×1)
↓
(321) + (160) + (80) + (41) + (20) + (1*1)
↓
37
となる