データの単位
「データの単位」や「数値の数え方」といった、コンピュータの基礎理論を学習していきます。コンピュータの世界では、普段私たちが使っているものとは異なる方法で計算を行っています。
まず初めに、次の過去問題を解けるようになるのが目的です。
10進数の演算式7÷32の結果を2進数で表したものはどれか。 ア. 0.001011 イ. 0.001101 ウ. 0.00111 エ. 0.0111 |
まずはビットとバイトといった「データの単位」を理解します。
ビットとバイト
ビット(bit)とは、コンピュータが扱う最小単位です。
1ビットは「0」または、「1」のいずれかの値を表します。
バイト(byte)とは、8個のビットの集まりです。1ビットは2つの状態(0または1)を表せるので、1バイトでは2⁸(256)通りを表すことができます。
1ビット | □ 0か1が入る |
1バイト | □□□□□□□□ 8ビット |
ビットで表すことのできる状態の数
1ビット [0] または [1] の2通り(2¹) 2ビット [00] [01] [10] [11] の4通り(2²) 3ビット [000] [001] [010] [011] [100] [101] [110] [111] の8通り(2³) ・ ・ 8ビット (1バイト)256通り(2の8乗) |
基本情報技術者試験では「10010011」のように「0」と「1」の並びで表された数の値のことを
「ビット列」、もしくは「ビットパターン」と呼びます。
データの単位
単位 | 記号 | 10進数表記 | 累乗 |
---|---|---|---|
テラ | T | 1,000,000,000,000 | 10¹² |
ギガ | G | 1,000,000,000 | 10⁹ |
メガ | M | 1,000,000 | 10⁶ |
キロ | k | 1,000 | 10³ |
基準 | 1 | 1 | |
ミリ | m | 0.001 | 10⁻³ |
マイクロ | μ | 0.000001 | 10⁻⁶ |
ナノ | n | 0.000000001 | 10⁻⁹ |
ピコ | p | 0.000000000001 | 10⁻¹² |
例えば、携帯電話のデータ通信量の表記で一般的に使われる「1ギガバイト(1GB)」は、バイトに直すと「10億バイト」になり、ビットに直すと「80億ビット」になります。なお、1キロバイトをバイトに直すと「1,000バイト」になるのですが、基本情報技術者試験では、稀に古い慣習に従って1キロバイトを「1,024バイト」とする場合があるので注意して下さい。ただしその場合、1キロバイトが「1,000バイト」なのか、または「1,024バイト」なのかは設問中に必ず明記されます。試験では記述に従って計算します。
全く同じ問題が繰り返し出題される
基本情報技術者試験では、過去に出題された問題とまったく同じ内容が出題されることがあります。中には過去に4回も出題された問題もあります。ただし丸暗記にたより科目Aに合格できたとしても、基本的な仕組みを理解していなければ、応用問題である科目Bの合格が難しくなります。
数値の数え方
「1+1=2」というのは常識ですが、コンピュータの世界では「1+1=10」になることもあります。さまざまな数値の数え方を見ていきます。
10進数、2進数、16進数
10進数は値が10になるときに桁が1つ繰り上がる表記法になります。小学校で習い、日常で使っている計算方法は10進数ということです。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 桁上がり | 11 | 12 | 13 | 14 | 15 |
2進数
2進数とは、値が2になるときに桁が上がる表記法です。0、1までは10進数の場合と同じですが、2進数では「2」のときに桁上がりするので、10進数の「2」は、2進数では「10」となります。その後、「11」、「100」、「101」と増加していきます。
0 | 1 | 10 桁上がり (2桁になる) | 11 | 100 桁上がり (3桁になる) | 101 | 110 | 111 | 1000 桁上がり (4桁になる) | 1001 | 1010 |
16進数
10進数と2進数の他に、コンピュータの世界では16進数という表記法がつかわれます。16進数は基本情報技術者試験でも必修の表記法になります。
16進数とは、値が16になるときに桁が上がる表記法です。なお、私たちが普段使っているアラビア数字には0~9までの10種類しか数字記号が存在しませんが、16進数では10~15までの値をĀ~Fまでのアルファベットを使って表記します。例えば、10進数の「10」は、16進数では「A」となり、10進数の「15」は、16進数の「F」となります。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 桁上がり | 11 | 12 | 13 | 14 | 15 |
なぜ複数の表記法があるのか
16進数のように多くの記号をつかえば、1桁で大きな数を表すことが可能になります。例えば64進数であれば1桁で64個の値を表すことができます。利用できる桁数が限られている場合などには、10進数よりも64進数の方が多くの数を表すことが出来ます。しかし、多くの記号を使うばかりが便利かというとそうではありません。例えば「りんごがC個」と表記されても直感的に理解できる人は少ないと思います。
コンピュータの世界の数値の数え方
コンピュータの頭脳は集積回路(IC:Integrated Circuit)と呼ばれる電子部品で構成されていますが、この集積回路は電圧が高いか、低いかの2通りしか判別できません。
このため、コンピュータの世界では基本的に電圧が低い状態を「0」、電圧が高い状態を「1」とする2進数ですべての処理が行われています。このことから、コンピュータの計算や処理を正しく理解するには、2進数を理解することが必要です。コンピュータは用途に合わせて人間に分かりやすいように10進数や16進数に置き換えた値を表示します。こういった背景から2進数や16進数について理解することが必要になります。
■数字の読み方 10進数の「10」は「じゅう」と読みますが、2進数の「10」は「いちぜろ」と読みます。 表記は全く同じなので、表記をする際は何進数の表記なのかを記載する必要があります。2進数であれば(10) ₂ 、10進数であれば(10)₁₀と表記します。 |