基本情報技術者の勉強法 ~2進数~
おはようございます。このブログは基本情報技術者に合格するための勉強法をまとめたブログです。今回の記事ではテクノロジの分野で出題される2進数の勉強法についてお話していこうと思います。
コンピューターの世界
私たち人間は文字や言葉、数字を理解することができます。そのため簡単にコミュニケーションをとったり、想いを伝えることができます。
しかし、コンピューターは違います。コンピューターは私たちの言葉を理解できませんし、話しかけても何も変わりません。「返事がない。ただの屍だ」状態が永遠と続くだけです。
そのため、コンピューターには電気を使って物事を伝えるのです。電気にはオンとオフの2種類の状態があります。オンの状態を「1」、オフの状態を「0」として、コンピューターに物事を伝えます。
「1」と「0」を大量に組み合わせて、いろんなことを表現します。この方式は2種類の数字を使っているので2進数と呼ばれています。
n進数
n個の数字を使って表す方式を「n進数」と言います。私たち人間は0~9の数字を使います。なのでこれを10進数と言います。
基本情報技術者の試験では、2進数、8進数、16進数が良く出題されます。順番に見ていきましょう。
2進数
2進数は「0」と「1」の2種類の数字を使って表現する方式です。「1」まで数えると桁が繰り上がります。
コンピューター内部ではすべて2進数で処理が行われています。
どのタイミングで桁が上がるのか、動画で説明していきます。
8進数
8進数は「0」~「7」の8種類の数字を使って表現する方式です。「7」まで数えると桁が上がります。
こちらもどのタイミングで桁が上がるか動画で説明します。
16進数
16進数は「0」~「F」の9種類の文字と5種類の文字を使って表現する方式です。数字での表現は「0」~「9」までしかできません。その先はアルファベットで表現します。「F」まで数えると桁が上がります。
こちらもどのタイミングで桁が上がるのかを動画で説明します。
基数と桁の重み
n進数には基数と桁の重みという概念が存在します。順番に見ていきましょう。
基数とは
基数というのは、その字が示すように「基となる数」のことを示します。位が上がる基準を示しています。
私たちが普段使っている10進数であれば、10数えるたびに位が上がりますよね?それと同じで、2進数の場合は2、8進数の場合は8で位が上がります。
桁の重みとは
桁の重みは桁が上がると、元の数の何倍になるのかを示します。
10進数で考えてみましょう。元の数を「10」として、位が1つ上がれば「100」になります。これは元の数の「10」の10倍になっています。
この例だと当たり前すぎるので、2 進数の場合も見てみましょう。元の数を「1」とすると位が上がれば「10」になります。「10」は 2 を意味します。元の数の 2 倍になっていることがわかりました。
今度は位を二つ上げてみましょう。「100」は 4 を意味します。これは元の数の4倍になっています。
n進数の場合、桁がm上がれば、基準の数の n の m 乗倍になるのです。
桁が下がれば、基準の数を n の m 乗で割ればいいのです。
まとめ
- コンピューターの内部では2進数で処理が行われている
- 代表的な n 進数には 2、8、16がある
- 基数とは基準となる数
- 桁の重みは桁が移動するごとに何倍になるかを示す