LoginSignup
1
5

More than 5 years have passed since last update.

2進数・16進数の計算

Last updated at Posted at 2019-06-25

基本情報を勉強しているときに、2進数、16進数の計算をしなければいけなくなり、今回記事にします。

10進数

10進数は普段使っているのでわかりやすいですが、実際に式にすると以下のようになります。


1571という数字を分解した場合

1×1000 + 5×100 + 7×10 + 1×1

これを累乗で表すと以下になります。

1×10^3 + 5×10^2 + 7×10^1 + 1×10^0

この考え方を2進数でも16進数でも利用します。

※ ^n は、指数を表しております
 
 

2進数

2進数は 0 と 1 だけで値を表現する記法で、PCは2進数で構成されています。
例えば 2 と表現したい場合は、 10 となります。
これは2で次の位に上がるということです。


2進数

0 , 1 , 10 , 11 , 100 , 101

これを10進数にすると下記になります。

0 , 1 , 2 , 3 , 4 , 5

 

2進数を10進数に計算する方法

実際に2進数を10進数に変換する計算方法は下記のようになります。

1101を変換したいと思います。

まず 10進数のときと同様に、1の位を0乗 、 10の位を1乗 、 100の位を2乗 、 1000の位を3乗とします。

次に、2と掛け合わせて、それぞれ足し合わせていくと10進数になります。

1×2^3 + 1×2^2 + 0×2^1 + 1×2^0

となり

8 + 4 + 0 + 1 = 13

となります。
よって、2進数の1101は、10進数では13となります。

10進数を2進数に変換

先ほどの例で変換を行います。

2進数に変換するのは、いたって簡単
10進数を2で割って、その商を2で割ってを商が0になるまで繰り返し、最後の余りから順にくっつけるだけです。

13÷2=6...1
6÷2=3...0
3÷2=1...1
1÷2=0...1

最後の余りから順に余りを並べると
1101 となる

 
 

16進数

16進数は、0~9とA~Fで構成されています。

0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
16進数を10進数に計算する方法

実際に16進数を10進数に変換する計算方法は下記のようになります。

2F3Bを変換したいと思います。

まず 10進数のときと同様に、1の位を0乗 、 10の位を1乗 、 100の位を2乗 、 1000の位を3乗とします。

次に、16と掛け合わせて、それぞれ足し合わせていくと10進数になります。

2×16^3 + F(15)×16^2 + 3×16^1 + B(11)×16^0

となり

8192 + 3840 + 48 + 11 = 12091

となります。
よって、16進数の2F3Bは、10進数では12091となります。

10進数を16進数に変換

先ほどの例で変換を行います。

2進数のときと同じく、
10進数を16で割って、その商を16で割ってを商が0になるまで繰り返し、最後の余りから順にくっつけるだけです。

12091÷16=755...11
755÷16=47...3
47÷16=2...15
2÷16=0...2

最後の余りから順に余りを並べると
2F(15)3B(11) となる

 
 

1
5
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
1
5