応用情報技術者平成29年春期 午前11
15Mバイトのプログラムを圧縮した状態でフラッシュメモリに格納している。プログラムの圧縮率が40%,フラッシュメモリから主記憶への転送速度が20Mバイト/秒であり,1Mバイトに圧縮されたデータの展開に主記憶上で0.03秒が掛かるとき,このプログラムが主記憶に展開されるまでの時間は何秒か。ここで,フラッシュメモリから主記憶への転送と圧縮データの展開は同時には行われないものとする。
1、プログラムの圧縮率が40%
・データ圧縮率とは、データを圧縮した際に、圧縮後のデータが元のデータのどのくらいの情報量に減ったかを表す割合。圧縮後の量の元の量に対する割合を100倍したパーセンテージで表すことが多いが、削減された量の元の量に対する割合とすることもある。
例えば、100MBのファイルが10MBに圧縮された場合、10/100の0.1(百分率で10%)を圧縮率とする場合と、(100-10)/100の0.9(同90%)を圧縮率とする場合がある。
つまり、この概念は、逆な二つ理解がありますね。
2、15MBバイトのPGMは圧縮したのサイズ、or 圧縮する前のサイズ?
ここの理解は、圧縮する前のサイズの可能性が高いですね。
後ろにすぐ圧縮率40%の説明が付きますので。
上記の二つを踏まえて、
1)、仮に、データ圧縮率の40%は、圧縮後のデータが圧縮前のデータの割合の表現とすると、
・圧縮前のデータ:15MBバイト
・圧縮後のデータ:15×40%=6MBバイト
①フラッシュメモリから、主記憶に転送の時間
6/20=0.3秒
②主記憶で展開の時間
6×0.03=0.18秒
上記①と②合わせて、0.48秒です。
2)、仮に、データ圧縮率は、情報量の減ったとすると
15MB×0.6=9MBバイト
①フラッシュメモリから、主記憶に転送の時間
9/20=4.5秒
②主記憶で展開の時間
9×0.03=0.27秒
上記①と②合わせて、0.72秒です。
イの075秒と似てるだけど、やっぱり違いますね。
ですが、もしイは0.72とすると、どうしよう???
「圧縮後の量の元の量に対する割合を100倍したパーセンテージで表すことが多い」ということがあるので、上記1)の計算結果0.48を選ぶと、正確と判定される可能性が高いだろう。
参照:
データ圧縮率 【 data compression ratio 】
http://e-words.jp/w/%E3%83%87%E3%83%BC%E3%82%BF%E5%9C%A7%E7%B8%AE%E7%8E%87.html