コンピュータは内部的に2進数(基数2)を使用しています。プログラマーはしばしば16進数(基数16)で作業します。これらのシステムを理解することで、コンピュータがデータをどのように保存・表示するかが明確になります。

3つのシステム

システム 基数 使用する数字
2進数 2 0, 1
10進数 10 0–9
16進数 16 0–9, A–F

16進数では:A=10、B=11、C=12、D=13、E=14、F=15

2進数から10進数への変換

各2進数は、右から始まる2の累乗を表します。

例: 1101(2進数)を10進数に変換

``` 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13 ```

10進数から2進数への変換

2で繰り返し割り、余りを記録します:

例: 25を2進数に変換

``` 25 ÷ 2 = 12 余り 1 12 ÷ 2 = 6 余り 0 6 ÷ 2 = 3 余り 0 3 ÷ 2 = 1 余り 1 1 ÷ 2 = 0 余り 1 ```

余りを下から上に読む:11001

確認:16 + 8 + 0 + 0 + 1 = 25 ✓

16進数から10進数への変換

各16進数は16の累乗を表します:

例: 2F(16進数)を10進数に変換

``` 2×16¹ + F×16⁰ = 2×16 + 15×1 = 32 + 15 = 47 ```

2進数から16進数への変換(クイックメソッド)

右から2進数を4桁ずつグループ化し、各グループを変換:

例: 11010111(2進数)を16進数に変換

``` 1101 = 13 = D 0111 = 7 ```

結果:D7(16進数)

なぜ16進数を使うのか?

8桁の2進数(1バイト)= ちょうど2桁の16進数。したがって:

  • 00000000 = 00(16進数)= 0
  • 11111111 = FF(16進数)= 255

これにより、16進数は2進数データを簡潔に表現する方法になります。Webカラーはhexを使用(例:#FF5733 = 赤255、緑87、青51)。

よく使う値

10進数 2進数 16進数
0 0000 0
10 1010 A
15 1111 F
16 10000 10
255 11111111 FF
256 100000000 100

数値システム変換ツールを使って、2進数、10進数、16進数、8進数の間を即座に変換できます。