基本情報技術者 2009年 秋期 午前(科目A) 問30
問題文
音声のサンプリングを1秒間に11,000回行い、サンプリングした値をそれぞれ8ビットのデータとして記録する。このとき、512×バイトの容量をもつフラッシュメモリに、記録できる音声は最大何分か。
選択肢
ア:77
イ:96
ウ:775(正解)
エ:969
音声データの記録可能時間の計算【午前2 解説】
要点まとめ
- 結論: バイトの容量では、11,000サンプル/秒×8ビットで約775分の音声が記録可能(選択肢はウ)。
- 根拠:1サンプルは8ビット=1バイト、毎秒11,000バイト消費なので総秒数は容量÷11,000、分へ換算。
- 差がつくポイント:ビット・バイトの単位混同や10進(MB)と2進(MiB)の取り扱い、端数処理に注意すると得点差が出る。
正解の理由
与えられた条件で必要なデータ量は「1秒あたりのバイト数」と「総容量」を比べるだけです。
1サンプルは8ビット=1バイト、サンプリングは1秒に11,000回なので消費は11,000バイト/秒。
総秒数は 。
これを分に直すと で、選択肢の中では775分(ウ)が最も近いかつ妥当な整数表記です。
「最大何分か」を整数分で答える場合、容量を超えない最大の分は切り捨てで775分となります。
1サンプルは8ビット=1バイト、サンプリングは1秒に11,000回なので消費は11,000バイト/秒。
総秒数は 。
これを分に直すと で、選択肢の中では775分(ウ)が最も近いかつ妥当な整数表記です。
「最大何分か」を整数分で答える場合、容量を超えない最大の分は切り捨てで775分となります。
よくある誤解
- 「ビットとバイトを取り違える」ことで8倍の誤差が生じるミスが多いです。
- 「512×10^6」を512MiB(2進基準)と誤認すると差が生じ、計算結果が微妙にずれます。
解法ステップ
- 1サンプルあたりのサイズを確認:8ビット=1バイト。
- 1秒あたりの消費バイト数を計算:.
- 総秒数を求める:.
- 分に換算:.
- 問いが「最大何分か」なら容量を超えない整数分に切り捨てて775分(ウ)。
選択肢別の誤答解説
- ア: 77 — 桁を一つ間違える計算(例えば10倍の桁落ち)や秒→分換算を間違えた可能性が高い。
- イ: 96 — 単純な計算誤りまたはサンプリング周波数やビット深度の読み違えで生じる中間値。
- ウ: 775 — 正解。上記手順で求めた値を分に換算し切り捨てた結果と符合。
- エ: 969 — 容量をMBではなくMiBや別の基準で誤換算した、あるいは端数処理を切り上げた誤り。
補足コラム
- サンプリング定理(ナイキスト)は最高周波数の2倍以上でサンプリングする必要があることを示しますが、本問は容量計算が主題です。
- 8ビット音声は量子化ビット深度が小さく音質は低め。CD品質は44.1kHz・16ビット(ステレオで容量大)。
- 単位について:本問は10進の表記 (百万)を使用しています。2進のMiB(バイト=1,048,576バイト)と混同すると結果が微妙に異なります。
- 計算確認用の簡単なPython例:
capacity = 512 * 10**6 # バイト bytes_per_sec = 11000 # バイト/秒 minutes = (capacity / bytes_per_sec) / 60 minutes # 約775.7575...
FAQ
Q: なぜ8ビット=1バイトとみなせるのですか?
A: 一般に「バイト」は8ビットで構成される単位として扱われ、本問もその前提で計算しています。
A: 一般に「バイト」は8ビットで構成される単位として扱われ、本問もその前提で計算しています。
Q: 容量表記が512×10^6ではなく512MiBなら結果は変わりますか?
A: はい。512MiBは バイトで、これを用いると約804.48分となり差が出ます。
A: はい。512MiBは バイトで、これを用いると約804.48分となり差が出ます。
関連キーワード: サンプリング周波数、ビット深度、容量計算、バイト、フラッシュメモリ、単位換算、切り捨て処理

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

