1バイトは何ビット?16進数から10進数・2進数に変換
私たちが生活している世界では10進数が利用される事が多く、2進数にあまり馴染みがありません。
しかし、今や生活に欠かす事の出来ないコンピュータは2進数を利用しています。
- 人間の世界・・・10進数
- コンピュータの世界・・・2進数
10進数・2進数についての記事はこちら
なぜ、それぞれの世界で別々の進数を使うのかと言うと、その進法(進数)がその世界で便利だからです。
- 人間の世界・・・人間は指の数が10本なので、指を使って数字を数えやすい
- コンピュータの世界・・・IC(Integrated Circuit:集積回路)に
- 電気が流れている
- 電気が流れていない
の2つの方法で、情報(データやプログラム)を処理出来る
この記事では、
- コンピュータの世界で使われるビット【bit】・バイト【byte】
- 16進数
それぞれについて説明していきます。
ビット【bit】・バイト【byte】
コンピュータはIC(集積回路)と呼ばれる電子部品から構成されており、黒いボディーに付いた1本1本のピンに電気を流すことで、情報(データやプログラム)を処理しています。
ビット【bit】
このIC(集積回路)のピン1本で表せる情報が,コンピュータの情報の最小単位となります。
これを、ビット【bit】と呼びます。
ビット【bit】は【Binary digit】を簡略化したもので、1ビットは2進数の1桁ですので
- 0(ピンに電気を流さない)
- 1(ピンに電気を流す)
の2通りの情報しか表せません。
バイト【byte】
バイト【byte】は、8ビットすなわち2進数の8桁を情報の基本単位とすることになっています。
1 バイト = 8 ビットです。
1バイト(8 ビット)は、
- 2進数で、00000000 ~ 11111111
- 10進数で、0 ~ 255の256通り
の情報を表せます。
16進数
10進数の123,456,789を2進数で表すと、111010111011100110100010101です。
2進数は桁が大きくなればなるほど、
- 人間にとって読みにくい
- 人間がプログラムや仕様書を16進数で表現すれば、長い2進数を書く必要がない
そこで、プログラムや仕様書を扱いやすくするために16進数が使われるのです。
コンピュータは2進数しか扱えませんが、
- 16進数
- 2進数
の相性が良い為、人間がプログラムや仕様書に16進数で表現しても、コンピュータは複雑な変換処理が必要なく2進数に変換出来ます。
では、どのようにして1桁を16進数で表すのでしょうか。
16進数では、0 ~ 15までを1桁で表せるよう、10 ~ 15には、それぞれA ~ Fを当てはめるのです。
10進数 | 2進数 | 16進数 |
---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
2進数から16進数への変換は容易です。
2進数を4桁ずつに区切るだけです。
10進数 | 2進数 | 16進数 | |
---|---|---|---|
16 | 10000 | 10 | 1. 2進数「10000」を ・1 ・0000 に分解。 2. 分解した2進数を16進数に変換 ・1(2進数) → 1(16進数) ・0000(2進数) → 0(16進数) 3. 16進数同士を合わせて「10」 |
255 | 11111111 | FF | 1. 2進数「11111111」を ・1111 ・1111 に分解。 2. 分解した2進数を16進数に変換 ・1111(2進数) → F(16進数) ・1111(2進数) → F(16進数) 3. 16進数同士を合わせて「FF」 |
このように、4桁ずつ区切って変換するだけで、2進数と16進数の変換が簡単に出来ます。
何故、簡単に出来るのか。
それは、16が「2の4乗」だからです。
16進数は
- 人間
- コンピュータ
両方にとって扱いやすい進法(進数)なのです。
以上、
- コンピュータの世界で使われるビット【bit】・バイト【byte】
- 16進数
それぞれについての説明になります。