数学で2進数やら16進数を習いますが、勉強した16進数はどこで使うのでしょうか?
16進数は何に使う?
16進数は何に使う?どこで使う?
16進数は何に使うのかというと、主にコンピューター関連になります。
コンピューターは0と1の2進数でデータが保存されています。
これはコンピュータの数値は、電気や磁気のオン・オフの2値で表すものでオン・オフが数字の1・0に対応していることに由来しています。
コンピュータの内部計算も、2進法で行っています。
数値だけでなくて文字や記号も、0と1とで表現されます。
半角文字は8桁の2進数で表現されます。
コンピューターの世界では2進数の1ケタと1ビットと呼びます。4ケタだと4ビットになります。
2進法だけがあれば16進法は不要のように思えるでしょうが01011100 とか 10011010 のように2進法だとビットの桁数が多すぎ使い辛いものがあります。
書いたり憶えるのは間違いやすいので4桁ずつ区切って16進法化して使うのです。(2進法の4桁は、16進法の1桁)
01011100 → 5C
10011010 → 9A
右の方、4ビット単位の16進数でまとめて(0~F)扱うほうがが明らかに憶えやすいのではないでしょうか。
16進数は、2進数をぴったし 1/4 の長さで表現できるので便利です。
255(10)はFF(16)、11111111(2)で2進数の4桁毎に区切れば16進数に簡単に変換できます。
いわゆるマシン語も16進数(HEXもしくはヘクサ)で表示されます。
2進の16桁が16進なら2桁に圧縮でき、扱い易いわけです。
16進数4桁のコードでは10進数で65536(16bit)までの数字をわりあてられます。2進数で処理をするコンピュータを扱う技術者にとっては非常に都合のよい方法なのです。
メモリアドレスなんかは16進数で書かれるのが普通です。
Web ページの色を指定するのにも16進数を使います。
では10進数でも良いのではないかと思いますが、2進数からの変換は2^n進数への変換が適しているのです。
2進数から16進数への変換とその逆はコツをつかめば瞬時に暗算でできます(4桁ずつ区切る)
しかし、10進数への変換は暗算では出来ません。
8進数も2^3なので、変換しやすいという理由から使われるようになったのだと思います。