メガ盛りとかメガバーガーのメガとは

こんにちは、児玉です。

先日、次のような問題の質問を受けました。

■ 通信速度が128Mbpsであるシステムで、512MBのデータを送信するのにかかる時間はいくらか。答えは、小数第2位を四捨五入して少数第1位まで求めよ。

これ、2022年度から高校で必履修科目になった「情報Ⅰ」の問題だと思うのですが、本質的には「速さ・道のり・時間」の問題です。

ただし、128Mbps(128メガビーピーエス)のbpsはbits per second の略で、1秒あたりに転送できるデータ量を表します。
また、512MB(512メガバイト)のBはバイト(Byte)を表します。
そして、1バイト(Byte)= 8ビット(bit)という関係があります。
1ビットというのは、「1 or 0」という最小のデータ1個だと思ってください。

そうすると、上の問題は「秒速20メートルの自動車で100マイル走るのにかかる時間を求めよ」とほぼ同じになりますね。
100マイルの部分が100キロメートルなら小学生の算数の問題ですが、そこが少しだけ難しくなっています。

そして、k(キロ)とかM(メガ)という単位の前につく接頭語は、それぞれ1000倍(10の3乗倍)、1000000倍(10の6乗倍)を表す補助単位です。

そうすると、速度の128Mbpsは、$ 128 \times 1000000 = 2^7 \times 10^6 $ ビット毎秒で、
道のりの512MBは、$ 512 \times 1000000 \times 8 = 2^9 \times 10^6 \times 2^3 = 2^{12 } \times 10^6 $ ビットですから、かかる時間は

$ \frac{2^{12 } \times 10^6}{2^7 \times 10^6} = 2^5 =32 $ 秒

ということになります。

あれ?
小数第1位とか第2位はどうなった?
割り切れてるけど…。

実は、MbpsのM(メガ)とMBのM(メガ)が違うのです。

速度で使うM(メガ)は100万倍で良いのですが、データ量やファイルサイズで使うM(メガ)は、1024倍の更に1024倍を表します。
K(キロ)は$ 2^ {10} = 1024 $倍なので、M(メガ)は$ 1024 \times 1024 = 2^ {10} \times 2^{10} = 2^{20} $倍となります。

よって、次のようになります。

$ \frac{2^{12 } \times 2^{20}}{2^7 \times 10^6} = \frac{2^{32}}{2^7 \times 10^6} = \frac{2^{25}}{10^6} = \frac{1024 \times 1024 \times 32}{10^6} = 33.554432 $

ということで、答えは$ 33.6 $秒となります。

以上、メガとメガは違うというお話でした。

ところでメガ盛りのメガとメガバーガーのメガは、英語の形容詞 mega(巨大な、非常に大きな)のことでしょうね。(笑)

では、また。

(注) 上の問題は、伝送効率を100%とするという条件も付いていました。

コメント