基本情報技術者試験 - 令和8年6月修了 - 問9

1MHzクロックでカウントアップする16ビットタイマーを用いて,パルスの幅を測定する。パルスの立上がり時のタイマー値が100,立下がり時のタイマー値が5,000で,立上がりから立下がりまでの間に1度だけタイマーオーバーフローした。このとき,立上がりから立下がりまでのパルス幅は何ミリ秒か。
4.900
60.636
70.436
135.972
答え
分野 : テクノロジ系 › コンピュータシステム › ハードウェア › ハードウェア
解説
16ビットタイマーの最大カウント値は2¹⁶=65,536です。オーバーフローが1回発生しているため,実際の経過カウント数は「65,536-立上がり時の値+立下がり時の値」で求めます。65,536-100+5,000=70,436カウントとなり,1MHzクロック(1カウント=1マイクロ秒)なので,70,436マイクロ秒=70.436ミリ秒となり,「ウ」が正解です。

「ア」は,オーバーフローを考慮せず単純に「5,000-100」の差だけで計算した場合に出る誤答です。「イ」「エ」は,オーバーフロー分の加算や単位換算を誤って計算した際に生じやすい数値です。オーバーフローの影響を適切に反映させることがポイントとなります。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる