本記事の内容
本記事は、基本情報技術者試験におけるデータの単位、コンピュータでの数の数え方について、情報及びコンピュータの素人目線から説明する記事です。
本記事を読むに当たり、特別必要な知識はありません。
本ブログでは集合・論理・写像や実数の連続性、群論やグラフ理論など基礎的な大学数学(主として大学1,2年向けの数学)を解説しておりますので、そちらの記事もぜひご覧ください!
↓集合・写像・論理のシリーズ(の記事の一部)
↓実数の連続性のシリーズ
↓線形代数のシリーズ(の一部)
本シリーズの立場 (読み飛ばしてOK)
筆者自己紹介にも書いていますが、筆者は学部、修士、博士(単位取得退学)と数学を専攻していました。
特に幾何学を主として学習していたので、情報理論やらコンピュータ理論などには疎いです。
そんなコンピュータ弱者が2023年4月から就職し、職場の関係上基本情報技術者試験を受験することになりました。
「え?コンピュータ?勉強したこと無いけど、基本情報技術者試験を受験しなきゃいけいないんだ…」
という方は案外多いのではないか?と思いました。
そこで、ど素人がど素人目線で基本情報技術者試験の勉強をした軌跡を共有することに価値があるのではないか、と感じ、本シリーズの執筆に至ります。
本シリーズでは、数学的視点も随時盛り込んでいこうとは思っていますが、それよりも「試験に合格すること」に重きを置く、すなわち
「どうすれば問題が解けるのか?」
というある種解き方に重きを置きます。
データの単位
コンピュータの世界では、日常生活ではあまり目にしない単位を使います。
ビット(bit)とバイト(byte)
最も基本的な単位です。
ビットとバイト
- ビット ビット(bit)とは、コンピュータが扱うデータの最小単位のこと。1ビットは「0」または「1」のいずれかの値を表す。
- バイト バイト(byte)とは、8個のビットの集まりのこと。すなわち、1byte=8bitです。
1ビットは「1」か「0」という2つの状態を表すことができるので、1byte=8bitですから、1バイトでは\(2^8=256\)通りの状態を表すことができます。
例1.
- 1ビット:0と1で\(2^1=2\)個
- 2ビット:00、01、10、11で\(2^2=4\)個
- 3ビット:000、001、010、011、100、101、110、111で\(2^3=8\)個
- 8ビット(1バイト):\(2^8=256\)個
基本情報技術者試験では、10010011のように、0と1の並びで表された値のことををビット列、もしくはビットパターンといいます。
色々なデータの単位
キロバイトだのマイクロメートルだのは聞いたことがあると思います。
コンピュータの世界では、非常に大きな値や非常に大きな値を扱うことがありますので、それぞれのデータを簡潔に表す為に次の単位が用意されています。
単位 | 記号 | 10進数表記 | 累乗 |
テラ | T | 1000000000000 | \(10^{12}\) |
ギガ | G | 1000000000 | \(10^9\) |
メガ | M | 1000000 | \(10^6\) |
キロ | k | 100 | \(10^3\) |
基準 | 1 | \(10^0\) | |
ミリ | m | 0.001 | \(10^{-3}\) |
マイクロ | \(\mu\) | 0.000001 | \(10^{-6}\) |
ナノ | n | 0.000000001 | \(10^{-9}\) |
ピコ | p | 0.000000000001 | \(10^{-12}\) |
数値の数え方
我々は\(0,1,2,3,4,5,6,7,8,9\)の10種類を使って数を表現しています。
つまり、10刻みで数を捉えている、ということになります。
コンピュータでは、そうではなく2刻み、16刻みで数を表現します。
10進数、2進数、16進数
少し数学の話をします。
10進数で3879という数は
$$
3\times10^3+8\times10^2+7\times10^1+9\times10^0
$$
と表現できます。
この表記を10進数表記と呼びます。
そして10を基数といいます。
2進数、16進数は基数がそれぞれ2、16であるような数の表現方法なのです。
10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
2進数 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
16進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 |
16進数については、アラビア数字が10個しか無い関係上、10〜15はA〜Fのアルファベットで表現します。
※例は基数変換の部分で後述
小数
小数についても、本質的には同じです。
小数には大きく2種類あります。
- 有限小数:小数部の桁数に限りがある小数
- 無限小数:小数部の桁数に限りな無い小数
そして、無限小数には循環小数があります。
例えば、10進数の\(0.123\)という数は
$$
1\times10^{-1}+2\times10^{-2}+3\times10^{-3}
$$
と表現できます。
故に、小数も整数の場合と同じ型で表現できます。
結
今回は、基本情報技術者試験におけるデータの単位、数値の数え方について、情報及びコンピュータの素人目線から説明しました。
問題が解けるということに重きを置き説明しました。
質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、この記事に限らず、「定理〇〇の△△が分からない!」などいただければお答えします!
Twitterでもリプ、DM問わず質問、コメントを大募集しております!
コメントをする