1月10日 基本情報技術者試験の問題集に取り組んでいるこうしろう。この日は大いに困ってしまった。中学1年生の彼を困らせた問題がこれである。

問題 16進数14けたで表される整数の最大値は,10進数で表すと何けたか。ただし,log102は0.301とする。

 16進数1桁は2進数4桁に相当する。16進数は16で桁上がりするので,1桁で15(16進ではFと表記する)まで表現できる。2進数4桁の最大値は1111,10進数に直すと1 × 2の3乗 + 1 × 2の2乗 + 1 × 2の1乗 + 1 × 2の0乗 = 8 + 4 + 2 + 1で 15となるからだ。だから,16進数14桁を2進数で表現すると14 × 4で56桁必要となる。ここまでは,こうしろうもわかっていた。

 問題はこの後だ。2進数56桁は10進数何桁で表現できるか? 16進数1桁は2進数4桁に対応する。また,8進数1桁の最大値は7なので,2進数3桁に対応する(1 × 2の2乗 + 1 × 2の1乗 + 1 × 2の0乗 = 7)。でも10進数は16進数や8進数と違い,2進数とキッチリ対応はしないのである。人間にとってきりの良い数字である10は,2進数をベースとするコンピュータにとっては,きりの悪い数字なのである。それで2進数56桁が10進数何桁に対応するか計算しやすいように,「ただし,log102は0.301とする」とヒントがついているのである。

 しかし,ここでこうしろう困ってしまった。「log102は0.301」と言われても,そもそもlogが何を意味するのか知るわけがない。

 こうしろうはことコンピュータについては,中学生としてはかなり詳しい方だと言って差し支えあるまい。 先日,私はある人に「DVDの動画のファイル形式は何か?」と尋ねられたのであるが,わからなかった。それで,家に帰ってこうしろうに同じ質問をしてみたところ,「MPEG2。」と即座に答えた。こういう知識はある。でも,数学や英語については等身大の知識しかない。 

 logはロガリズム(対数)であり,高校数学の範疇だ。2のX乗 = 10のとき,このXをlog210と書く。例えば2のX乗 = 16はlog216と表現され,答えは 4である。log102は10をX乗すると2になる値Xを表す。それを「0.301とする」と書いてあるので,56桁に素直に0.301を掛けて16.856を求め小数点以下を切り上げ,17とすれば良い。2進数の1を56桁並べ,ウェイトを掛け10進数に変換し桁数を数えていては,午前の部の試験時間がなくなってしまう。

 この後,順列・組み合わせ,分散や標準偏差と数学の知識を要求される問題が続く。√やΣ,ポアソン分布の公式など,中学1年生は見たこともないものを理解していかなくてはならない。

 やはり,「中学生に基本情報技術者試験は無理なのか」父も子も落ち込んでしまった。「でもさ,去年,中学生で3人合格した人おるし…」,「そうやな,パーフェクトを目指す必要はないんだし。」

 フランス文学科卒業で数学は,まるっきし苦手だったこうしろうの父も基本情報技術者試験の前身である情報処理第2種,ソフトウェア開発技術者試験の前身である情報処理第1種を数学の小難しい知識が必要な問題は,そっーと避けながら合格したのである。「なんとかなるさ」と気を取り直してこの日の勉強は終了。

1月14日 情報処理受験雑誌に添付されている受験申込書に,ほとんどグーの手でボールペンを握るこうしろうが(久しぶりに見たが,本当にひどいペンの持ち方だ),「紙が破けるんじゃないか」と心配になるほど力を込めて必要事項を埋めていく。自分名義のカードがあれば,インターネットで簡単に申し込めるのだが,そんなもん持っているはずがない中学生には何かと面倒なことが多い。生年月日の欄に記入した1988に「お前,1988年生まれやったか。若いなあ」と父親としてはかなりの無責任さで,びっくりしてしまった。やっぱ,最年少受験者かな?