デジタル情報の特徴とその単位、10進法と2進法と16進法の変換計算をわかりやすく【高校 情報Ⅰ、共通テスト向け】

高校教科 情報Ⅰでは、PCやスマホ・タブレットなど
コンピュータ の動作する しくみ について、学習していきます。

デジタル情報とアナログ情報

0と1の 2種類の数字を並べていってできる信号が
デジタル情報 と呼ばれるもので、コンピュータが扱える情報のことです。
対して、実世界で見えるもの(画像や映像) や音声などは
アナログ情報 と呼ばれ、コンピュータで扱うとき、デジタル情報に近似・変換されるものです。

離散量とは、とびとびの値をとる量のことです。
0, 1 だけでなくて、例えば 2, 3, 4, \(\dotsm\) という値もとるが、2.5とか3.333のような 間の値は とらない、といったものも、離散量です。
デジタル情報とはとくに、1つの情報単位あたり 0と1の2通りの値しかとらない離散量です。

数字が 0と1の2種類しかない世界です。
そこで、

0と1の2種類の数字 だけ で数えてみる:

0, 1 その次。「2」と言ってはいけません。
どうすればよいでしょう?。
【ヒント】。いつもの 数の数え方では、
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 まで 言ったら 次は 10 です。
数が 大きくなると
桁(けた) が くり上がって 下の桁は0にしますね。

0, 1 その次は だから、10 となります。ただし
「じゅう」と読まずに「いちゼロ」と読みましょう。

0, 1, 10, 11(「いちいち」)、その次は?。
1を足していく と考えてもよく、
一番下の位が くり上がり 上の位に1が足され、すると
また くり上がらなければならない! だから…
100 となります。これも「いちゼロゼロ」と読みましょう。

0, 1, 10, 11, 100, 101, 110, 111, 慣れてきて その次も
全ての位が1だから くり上がり、1000 となります。

このような数の数え方を、2進法 と呼びます。
2進法では数字が0と1の2種類しかないから、どんどんくり上がっていきますね。
いつもの数の数え方は 10進法 と呼びます。これの読みは「じゅっしんほう」です。また10進法で表した数 10 も「じゅう」であり「いちゼロ」とは読みません。
10進法と2進法による 数え方、比べてみると こうなります:

最初の位 から始めて、くり上がる所(くらい) だけ見ていくと、
\(\ 1\,,\,2\,,\,4\,,\,8\,,\,16\,,\dotsm\)
2倍、2倍になっていってる!と分かる つまり、
2をどんどん かけていく、2の累乗 だと分かります。
\(\ 2=2^1 \ ,\ 4=2^2 \ ,\ 8=2^3 \ ,\ 16=2^4 \ ,\dotsm \)
「0乗」も 定義できて、値は1。 \( 2^0 =1 \) なので

\(n\)進法で 各桁は、末尾の位(右) から順に
\( n^{\,0}\,(=1)\text{の位}\,,\, n^{\,1}\,(=n)\text{の位}\,,\, n^2\text{の位}\,,\dotsm\)
確かに10進数でも、\( \text{壱の位}\,,\, \text{十の位}\,,\, 10^2=\text{百の位}\,,\dotsm\)
となっていますね。
でもなぜ、位は累乗になるのか? 疑問があるかもしれません。
それはこの後で、もう少し詳しく見ていきます。

1の位、2の位、4の位、\(\dotsm\) そういう
2進法の 一つひとつの 桁(位) のことを、
ビット bit と呼びます。
” bit ” と言っても「かけら」の意味の方でなく、
binary digit」の略語です 実は。

そうそう 数えるとき大事な点1つ確認しておきましょう:

コンピュータでは、1番ではなく 0番から数え始める!

ビット数 と 表現できる状態の数:「状態数」

「表現できる状態の個数 (状態数)」とはつまり、

そのビット数(桁数) で いくつまで数えられますか?
相異なる数は 何通りできますか?

ーという意味です。例えば 3ビットの場合、

樹形図です。
各ビットについて0か1かの2通りに枝分かれ。
その次のビットで また2通りに枝分かれ… だから
かける2…
3ビットだと、2を3回かける のだから 2の3乗つまり8通り。
それが、3ビットで数えることのできる個数。
それはまた、0から7までの数 を表し、①番から数え始めれば7の次の8まで。8とは、3ビットすべてが1になった次の、4ビットめに初めてくり上がる数( 1000 )。
3ビットで数えることのできる個数は、4ビットめに初めてくり上がる数でもあるということなのです。
一般に \(s\)ビットでも、\(n\)進法の\(s\)けた でも、同様のことが言えます。まとめると:

これで、「累乗になる」ことの真の理由も説明できました。

例えば10進法でも確かに、一桁に使える数字が、0から9までの10通り。だから10進法と言い、
だから、例えば10進法で3桁だったら、000 から 999 までの1000通り\( =10^{\,3}\) ということで、上の原則通りなことが確認できますね。

2進法に話をもどして、10ビットまでの状態数 の値は よく出ます。憶えてしまいましょう:

\(\ 2^{\,11}\,\)以上はあまり憶えなくてよいです。必要なときは、2をかけていく計算をして出します。
しかし \(\ 2^{\,16}=65536\,\) だけは、憶えておくようにしましょう。16ビットの状態数です。

累乗というものは増大のしかたが激しい特徴があり、
手計算は大変になっていきます。
もし、16乗を超える2の累乗が出たら、
指数までは 計算しておき、

累乗の形のままで答として構いません。

また、次でみていきますが、ビット数8個つまり8ビットぶんで、1バイトと呼ばれます。
そしてビット数やバイト数のことは「情報量」と言い、「状態数」とは区別します。

状態数の計算と 情報量の単位

今もふれましたが、まず、
バイト Byte という単位があります。8ビット で 1バイト です。

それでは、2バイトは何ビットでしょうか?
そうですね。\(2\times 8=16\,\)ビット。かける8 すれば出ます。

次。2バイトで表現できる状態の個数 (状態数) は、いくら(いくつ)でしょうか?
そうですね。2バイト\(=2\times 8=16\) ビットだから、\(2^{\,16}=65536\,\)と答えられます。
そういうきき方の問題もよく出ます。
状態数が問われたら、
情報量のバイト数は まずビットに変換するようにし、
その上で、2の累乗です。

大きい数になりそうならば、累乗の形のまま計算したり、答えて構いません。
そこで、累乗の計算に強くなりましょう。そこで復習すべきは:

累乗に関する名称と 基本性質:「指数法則」

状態数を計算するとき、2の累乗ですから、
 底 (テイ) が2、と言えます。
右側の2式が、累乗の基本性質【指数法則】です。もちろん一般の 正の数を底とした \(a\) について成り立ちます。
詳しくは 数学Ⅱで学習するのですが、情報科の計算で使うので、ここで復習しましょう。

指数法則を利用すると、まず「0乗が1」になる理由が分かります。実際、
 \(a^{\,p}\,\times\,a^0 = a^{\,p+0}=a^{\,p}\) ですから、
\(a^{\,p}(\neq 0)\) に \(a^0\)という値をかけても \(a^{\,p}\) のまま変わらない。
すなわち、\(a^0\) の値は1でなければならない、というわけです。

「0乗が1」が分かったら次は、負の数の指数が考えられるようになります。実際、
 \(a^{\,p}\,\times\,a^{-p} = a^{\,p-p}=a^0\) という計算を考えて、
\(a^{\,p}\) に \(a^{-p}\) という値をかけたら、1になるわけだから、
\(a^{-p}\) という値は、\(\dfrac{\,1\,}{a^{\,p}}\) つまり 逆数であればよい ということですね。
負の指数は逆数」ということが分かりました。
自然科学で出てきますが、例えば \(10^{-3}=\dfrac{1}{10^3}=\dfrac{1}{1000}=0.001\) ということです。
すると、指数の引き算を考えることができます。
中学の時は覚えさせられたと思いますが、高校では、指数の足し算の指数法則だけから、導くことができるのです。実際、
 \( a^{\,p-q}=a^{\,p}\times a^{-q}=a^{\,p}\times\dfrac{1}{a^{\,q}}=\dfrac{a^{\,p}}{a^{\,q}}\)
指数の引き算は割り算」ということが分かりました。
指数を逆さにすると 間違うので、これは 確認を書いておきます:

演習として、次の【例題】を 解いてみましょう:
(1) 3バイトで表現できる状態数は 2.5バイトの 何倍か、
(2) 教育漢字 1026 字を表現するためには、何ビット必要か?

【解】
(1) 3バイトは、3 × 8=24ビット。
 2.5バイトは、2.5 × 8=20ビット。
 状態数で比べると、\( \dfrac{2^{\,24}}{2^{\,20}} =2^{\,24-20}=2^{\,4}=\)16 倍

(2) (状態数)=1026 は、\(2^{\,10}=1024\,<\,1026\,\leqq\,2^{\,11}\)
 だから、11ビット必要
 「表現する」「表現できる」とは、識別できる
 という意味です。
 例えば教育漢字ですので、「海」という字を32番、
 「山」という字を35番に割り当てる、というふうに、
 全1026字に、相異なる番号を割り当てられれば
 十分である、という意味です。
 「海」なら「海」という字を、具体的に黒と白の
 ドットで表現しようとすればそれは、
 11ビットでは到底足りませんが、
 そういう意味ではないのです。

そして、
なぜ 1バイト=8ビット という単位が大事なのか

というと、「8」という数が、また2の累乗で表される数だからでしょう。
実際、8ビットコンピュータ、16ビットコンピュータ、\(\dotsm\) というように、コンピュータは進化してきています。

情報量の もっと大きな単位

情報量 ~ビット数やバイト数~ には、さらに大きな単位がありますが、注意点があります。

まず、アナログ量など 通常の単位にある、
キロ、メガ、\(\dotsm\) は1000倍ずつですが、
デジタルの情報量の場合キロ、メガ、\(\dotsm\) は1024倍です。
1000に近くて2進法になじむ数値が採用されたためだと言われています。
また、情報量の「キロ」は、通常の単位の「キロ」と異なり大文字で表されることが多いです。
米国のIT大企業が始めた慣用ですが、単位を管理する国際機関の同意は得られていない現状です。

ちなみに、テラ の次は何かというと、P( ペタ )、E( エクサ )、\(\dotsm\) と続きます。
やはり 情報量については1024倍ずつ、通常の単位では1000倍ずつになります。

16進法

今度は2進法でも10進法でもなく、16進法 です。
16進数 もまた、コンピュータが扱いやすい 数の表し方なので、数え方に慣れていきましょう。

0,1,2,3,4,5,6,7,8,9まで数えたら 次は、「10」ではありません。
10進法でいう16(十六)になるまで、次の桁にくり上がってはいけないのです。
ひと桁の中だけで数えなければならない。すると10進法の数字は0から9までの十種類だけだから、数字が足りません。

そこで、A, B, C,\(\dotsm\ \)も数字として使用

数字は何種類 必要か? 10進法で数字が十種類だから、16進法ならば十六種類 必要。よって、
0,1,2,3,4,5,6,7,8,9, A , B , C , D , E , F までが要る、というわけです。
そこまで数えて、初めて次の数が 10 です。10進法以外なのでこれも「いちゼロ」と呼びます。
同様に、
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20,\(\dotsm\)
と続けていきます。

そのように数え続けていったとき、もう少し後の数のことを考えてみましょう。
3桁目にくり上がる直前の数は、いくつでしょうか?
そうですね。最後(最大)の数字が F なので、2桁とも F 。FF です。
そうしたら、FF とは 10進数の いくらでしょうか?。

先ほどやったことを思い出しましょう。
\(n\)進法の \((s+1)\)番目の桁は、\(n^{\,s}\) の位 でした。

直接の計算方法は この後に回して ここでは、次のように計算してみます。
FF の 次の数が初めて3桁めの出る数 100 なので、\(n=16\) で \(16^{\,3-1}=256\) (の位)。
FF は、その1つ手前の数なので、255 と分かります。
今度は なかなか くり上がらない数え方なので、たった2桁なのに、これほど大きな数なのです。

この後でいよいよ、いろいろな進法 の変換計算を考えていきます。
そこで遅くなったのですが、混乱しないための記号の注意です。
今後、10進法以外の \(n\)進数では、右下に小さく “\((\,n\,)\)” と記すようにします。
例えば、\(1010_{(\,2\,)}\,=\,10\,=\,\text{A}_{(\,16\,)} \) のように書くのです。

なぜ16進法なのか? なぜ16進法だと、コンピュータが扱いやすい 数の表し方なのかというと、
16もまた、2の累乗 \(16=2^{\,4}\) です。
2進法でちょうど、\(2^{\,4}\)の位が5ビットめにありそれ未満の4ビットで表現できる状態数が 16、ということになります。
すなわち、ちょうど4ビット分が 16進数の一桁ぶんに相当する からです。
このことは、計算がしやすいということ。さらに
4ビットの「4」もまた、2の累乗でできている数です。

2進数と16進数と10進数の変換計算

ちょうど今、ふれた通り、
2進数の下から4ビット分ずつがちょうど、16進数の一桁ぶん。
したがって、2進数と16進数の変換は、難しくありません。

10進法と2進法との変換は、

コンピュータでの文字の表現は どうするか【文字のデジタル化】

最初のコメントをしよう

必須