マネジメント系が終わり、いよいよテクノロジ系に入ります。最初のテーマは「基礎理論」——コンピュータが物事をどう数として扱っているか、という根っこの部分です。
ねえ、素朴な疑問なんだけど。人間の指が10本だから10進数で数えるのはわかるの。でもコンピュータ、指ないじゃない。なんで2進数なの?
お、いい質問。理由は単純で、コンピュータの中身が電気のON/OFFでできてるから
電気に指はないものね
うん。電気が流れてる状態を『1』、流れてない状態を『0』——この2つの状態だけで、あらゆる数字や文字を表現してるんだ
……なんか、想像より単純なのね

じゃあ実際に、10進数と2進数の対応を見てみよう。2進数は各桁が『2の累乗』を表してる。たとえば10進数の13は、8+4+1に分解できるから、2進数だと1101
8が1個、4が1個、2が0個、1が1個、ってこと?
そう、まさにそれ。右から順に1、2、4、8……と桁の重みが倍々になっていく
なるほど、九九みたいに慣れれば大丈夫そう

次、論理演算。AND(かつ)、OR(または)、NOT(否定)の3つが基本
日本語でも聞く言葉ね
ANDは、両方とも1(true)のときだけ結果が1になる。『両方揃って初めてOK』という条件。ORは、どちらか一方でも1なら結果が1になる。『どちらかでOK』という条件。NOTは、1と0を入れ替えるだけ
……ちょっと図で見たい
真理値表にするとわかりやすいよ。この後の対比表でまとめて見せるね

1つ目は、基数変換の計算ミス。桁の重み(1・2・4・8……)を数え間違えると、答えがずれる。焦らず1桁ずつ確認するのが安全
2つ目は?
AND・ORの真理値表の取り違え。『両方揃って初めてOK』のAND、『どちらかでOK』のOR、この日本語のニュアンスと結びつけて覚えるといい
後半は、ちょっと毛色が違う話。待ち行列理論——窓口やレジに人が並ぶ現象を、数式で扱う理論
レジの行列?
そう。『どのくらいの頻度で人が来るか』と『1人あたりの処理にどれくらい時間がかかるか』の関係で、行列の長さや待ち時間が決まる、という考え方。コンピュータの世界でも、サーバーへのアクセスが集中したときの処理待ちなどに、同じ考え方が使われる
レジもサーバーも、原理は同じなのね
あと、確率・期待値の計算も、この分野の頻出テーマ。『ある事象が起きる確率』と『そのときに得られる値』を掛け合わせて、平均的にどれくらいの結果が期待できるかを求める、という考え方
第5回の需要予測でも、似たような話が出てきた気がする
そう、根っこは同じ数学の考え方。分野をまたいで、同じ計算の型が繰り返し出てくるんだ
2進数、もう指では数えられないってわかったわ
次は、その2進数の話ともつながる『アルゴリズム』。コンピュータに『どういう手順で処理するか』を教える話だよ
アルゴリズム……なんか難しそうな響き
大丈夫、実はもっと身近なものに例えられるから
著者が作った無料の過去問アプリ「ITパスポート学習」の「基礎理論」で、そのまま手を動かして確認できます。間隔反復法(SRS)が「忘れかけた瞬間」に自動で再出題してくれるので、読みっぱなしでは終わりません。