基本情報技術者試験的な備忘録(指数計算(ムダ))

パソコン素人です。
算数素人です。

 

基本情報技術者試験の問題・テキスト等を見て気になったメモです。
多分間違っているのであまり見ないで下さい。すみません。
ネットの引用等問題があれば、早急に削除いたします。

 

ソフトウェア開発技術者平成20年春期 午前問21】
1画素当たり24ビットのカラー情報をビデオメモリに記憶する場合、横1,024画素,縦768画素の画像表示に必要なメモリ量は、
約何Mバイトか。ここで,1Mバイトは10^6バイトとする。

 

基本情報技術者試験ドットコム様(いつも感謝していおります)の解説は、
1024*768=786,432ピクセル
786,432ピクセルに3バイト(24ビット)を掛け、2359296バイト
→約2.4Mバイトとしている。

 

基本が分かっていない自分は、遠回りをした。
最初に、「1024*768なんて計算を筆算でさせるのか」と思ってしまった。


そうなると、何か工夫できるはず。


横1024は32*32→2^5*2^5→2^10
縦768は256*3→16*16*3→2^4*2^4*3→2^8*3


上記横*縦に24ビットを掛ければメモリ量が出る。
24ビット→3*8→3*2^3

つまり、
2^10*2^8*3*3*2^3


2^18*3^2*2^3/8でビットをバイトにする。
2^18*3^2*2^3/2^3
2^18*3^2
ここまで来て計算できない・・・。算数素人。


ここから先も無理やり進めるとする。
2^18の18の処理・・・2進数にすると「10010」

で、
2^(16+2)

になる。


まず2^16の処理
2^16→((((2)^2)^2)^2)^2にする。
(((4)^2)^2)^2
((16)^2)^2
(256)2
→65536
65537*4=262,144
262,144*9=2,359,296バイト
→約2.4Mバイト。

 

うーん。時間がかかりすぎる。

 

1024*768を1000*750にしてみると750,000
750,000を3で割ると、250,000バイト。

 

丸い数字にしてもいいのか判断に迷う。
まあ、4桁*4桁くらいは筆算・計算させる試験なのかもしれない。
16*16=256
256*256=65536くらいは覚えておくか。