はじめに
最近、基礎の足りなさを実感することが多く、基本情報技術者の本を勉強してますが、その中で数値の数え方についてまとめてみました。
10進数
10進数とは、値が10になるときに桁が1つ上がる表記法です。
※日常で使っている表記法
2進数
16進数
基数変換
数値の表記法を変換することができます。
下記の例のような計算方法があり、試験のためには覚えるべきですが、
10進数 → 2進数
16進数 → 10進数
小数点以下など全て計算するにはものすごく手間がかかります。
PHPの場合、下記の関数を提供してくれてます。
// (PHP 4, PHP 5, PHP 7, PHP 8)
// 数値の基数を任意に変換する
base_convert(string $num, int $from_base, int $to_base): string
// 10進数 → 2進数
echo base_convert(243, 10, 2);
11110011
// 16進数 → 10進数
echo base_convert('3EFD.A14', 16, 10);
66050580
// 2進数 → 16進数
echo base_convert('10111001', 2, 16);
b9
さいごに
昔、日常と同じくなぜ10進数を使わないのかと思ったこともありましたが、
コンピュータの処理的に電気が流れる=1、電気が流れない=0で表した方が好都合だったためだそうです。
あと、本には載ってませんが、良く使われる表記法で8進数もあります。
0~7で表記する数値の数え方で代表的な使い方としてはLinuxの権限があります。
実装となると一つずつ表記法を計算したりすることはないと思いますが、知識の土台として積み重ねていきたいですね。
以上です。
参考