基本情報技術者 2019年 春期 午前(科目A) 問25
問題文
音声のサンプリングを1秒間に11,000回行い、サンプリングした値をそれぞれ8ビットのデータとして記録する。このとき、バイトの容量をもつフラッシュメモリに記録できる音声の長さは、最大何分か。
選択肢
ア:77
イ:96
ウ:775(正解)
エ:969
🔒 解説は解答すると表示されます
音声サンプリングと記録容量【午前解説】
正解の理由
1サンプルが8ビット=1バイトであるため、必要なデータ量は「サンプリング回数×1バイト/秒」。よって1秒当たりのデータ量は
。フラッシュメモリ容量 を秒数に換算すると
これを分に換算すると
従って最大で約775分記録でき、正解は ウ です。
解法ステップ
- 1サンプルのデータ量を確認:8ビット=1バイト。
- 1秒当たりのデータ量を計算:.
- 総秒数を求める:.
- 分に換算する:.
- 選択肢と比較して最も近い整数は775(ウ)。
(計算を確認する簡単なPython例)
capacity = 512 * 10**6 # バイト
bytes_per_sec = 11000 # バイト/秒
minutes = capacity / bytes_per_sec / 60
print(minutes) # 約775.757575...
選択肢別の誤答解説
- ア: 77
誤りパターン:サンプリング周波数を誤って10倍(110,000)とした場合や、桁を一つ多く扱ってしまった場合にこの値が出る。計算例:512e6 / 110000 / 60 ≈ 77.6。 - イ: 96
誤りパターン:容量を「ビット」と誤認(512×10^6ビット)して計算すると、秒数が小さくなり分で約96.97分となる。すなわちビット/バイトの変換ミス。 - ウ: 775(正解)
正しい計算手順に基づく結果。1サンプル=1バイトという点を正確に扱うと導かれる。 - エ: 969
誤りパターン:ビット/バイトの混同(イの誤り)に加え、秒→分換算で60ではなく6で割るなどの単純ミスを重ねた場合に現れる値の近似。
よくある誤解
- ビットとバイトの混同:問題の容量は「バイト」表記。これを「ビット」と誤解すると10倍・1/8倍の誤差が生じる。
- 秒→分換算を誤る:秒を分に換算する際に60で割るのを忘れる、あるいは6で割るなどの単純ミス。
- サンプリング単位の誤認:1サンプルを8ビット=1バイトと理解すること(量子化ビット数が変わると結果が変わる)。
補足コラム
- 単位変換のクセ付けをする:問題では「バイト」と明示されているかどうかをまず確認しましょう。情報系の問題で最も多い初歩ミスは「ビットとバイト」を取り違えることです。
- 実務的にはヘッダやメタデータ分の余裕も必要:今回の計算は純データのみ。ファイルヘッダや圧縮の有無で実際の記録時間は増減します。
- サンプリング定理との関係:サンプリング周波数は音質に影響しますが、ここではデータ量計算にのみ注目しています。
FAQ
Q. なぜ1サンプル=8ビット=1バイトでいいのですか?
A. 問題文で「8ビットのデータとして記録する」とあるため、1サンプルあたり8ビット=1バイトと扱います。
A. 問題文で「8ビットのデータとして記録する」とあるため、1サンプルあたり8ビット=1バイトと扱います。
Q. もし量子化が16ビットならどう変わりますか?
A. 1サンプルが2バイトになるため、記録時間は今回の半分になります(約387.88分)。
A. 1サンプルが2バイトになるため、記録時間は今回の半分になります(約387.88分)。
Q. 512×10^6 はMiB(1024^2の倍)ではありませんか?
A. 問題文通りに を用いているので十進表記(バイト)として扱います。もし「512MiB」や「512MB(MiBの意味で)」と解釈する指示があれば、計算が若干変わります。
A. 問題文通りに を用いているので十進表記(バイト)として扱います。もし「512MiB」や「512MB(MiBの意味で)」と解釈する指示があれば、計算が若干変わります。
関連キーワード: サンプリング周波数、量子化ビット数、ビットとバイトの変換、容量計算、秒→分換算、フラッシュメモリ容量、単位変換、データ記録時間

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

