この記事では基本情報技術者試験に出題され、計算を必要とする問題について解説していきます。2進数の計算のみ別記事にて説明します。
前提知識
まず欠かせない知識は以下の通り
1バイト=8ビット
です。
SI単位 | 数値 |
---|---|
ピコ | $10^{-12}$ |
ナノ | $10^{-9}$ |
マイクロ | $10^{-6}$ |
ミリ | $10^{-3}$ |
キロ | $10^{3}$ |
メガ | $10^{6}$ |
ギガ | $10^{9}$ |
テラ | $10^{12}$ |
ペタ | $10^{15}$ |
エクサ | $10^{18}$ |
1キロバイト=1000バイトと1キロバイト=1024バイトの場合がありますが、本試験では1キロバイト=1000バイトになります。後者はKiB(キビバイト)と表記することがあります。同様にメガバイトとメビバイト等も存在します。
n進数変換
10進数に変換するためには各桁の重みにnをかければよい。
$x_i$を各桁とすると基本的な式は$x_i×n^{i-1}+x_{i-1}×n^{i-2}+...+x_1×n^0$
小数点以下も10進数に変換するためには$x_i×n^{i-1}+x_{i-1}×n^{i-2}+...$の式を利用する。
10進数からの変換は整数部分ではnで割ったときのあまりを逆順で書くと答えになります。小数部分はn倍してから整数部分を書いていって、小数部分が0になったら終わりです。詳しくは別記事にて説明します。
MIPS
MIPS(Million Instructions Per Second)は1秒あたりに処理できる命令数を百万単位で表します。
例
1分間で600万処理が可能なコンピューターのMIPSは?
解
$1分=60秒$
$6×10^{6}÷60=0.1×10^{6}$
答え:$0.1$MIPS
例
MIPSが10のコンピューターが10分でいくつの処理が行える?
解
$10$分$=600$秒
$10×600=6000$
$6000×1000,000=6000,000,000$
答え:$6000,000,000$処理
例
1件のトランザクションについて 80万ステップの命令実行を必要とするシステムがある。プロセッサの性能が200 MIPSで、プロセッサの使用率が80%のときのトランザクションの処理能力 (件/秒)は幾らか。
解
実効処理能力を計算してから解くのがポイントです。
$200×80÷100=160$
$80÷16,000=0.005$
$1÷0.005=200$
答え:$200$
伝送速度問題
名前こそ恐ろしいですが、小学校でやった道のり&速度&時間の問題と同じです。ここで
道のり=伝送量
速度=伝送速度
時間=伝送時間
です。ポイントは速度を実効速度や伝送効率を用いて速度を"直して"から計算することです。
例
10Mバイトのデータを 100,000ビット/秒の回線を使って転送するとき、転送時間は何秒か。ここで、回線の伝送効率を50%とする。
解
10Mバイトをビットに変換して解くのがポイントです。
$10×10^{6}×8=80$Mビット
$100,000×50÷100=50,000$
$80×10^{6}÷50,000=1,600$秒