今度は論理演算にトライ
以前、アルゴリズムを学べるアプリ「アルゴリズム図鑑」を取り上げたが、おかげさまで好評だったらしい。そこで再び、コンピュータ内部で行われている基礎的な事柄を学べるアプリにトライしてみることにした。普通のMacユーザにとっては知らなくても別に困らない知識だと思うが、コンピュータの世界では常識と思われる事柄なので、やはり知っておいたほうがいい気がする。
と言いつつ、ワタクシはこれまでの人生でコレと直面したことがないので、実はよく知らないのだ。だがアルゴリズム同様、少しでも理解することができたら、コンピュータがより身近に感じられるようになるんじゃないか。
そんな期待を込めて、今回取り上げたのが「論理演算」である。演算といえば、普段ワタクシたちが慣れ親しんでいるのは、足し算、引き算、かけ算、割り算のいわゆる「四則演算」だ。そして数を表現するのに、w0から9までの10種類の数字を使い、10で桁が上がる「十進数」がお約束となっている。
一方、コンピュータ内部で使われているのが「論理演算」。1(ON)か0(OFF)の2通りの入力値に対して1つの値を出力する。ご存じのとおり、コンピュータ内部のデータは十進数ではなく「2進数」で取り扱われている。2進数は、0と1の2つだけで数を表すもので、その1桁だけを対象にすれば、0または1で演算を行い、その結果もまた0か1のどちらか、論理演算にピッタリなのだ。そんなわけでコンピュータの世界では、論理演算がよく使われている(らしい)。特にプログラミングの世界では、必要不可欠な基礎知識なんだそうである。
老脳にはいい刺激、かも
「トライビットロジック」は、パズルを楽しみながら論理演算の約束事が身につくゲームアプリだ。敵キャラ「バグ」が持つ、0か1で構成された4桁の数字を、論理演算を使ってすべて「0000」あるいは「1111」にすればステージクリアとなる。
論理演算には「AND(アンド)」「OR(オア)」「XOR(エックスオア)」「NOT(ノット)」の4種類があって、まずやらなくてはいけないのは、それぞれの特性を知ることだ。「AND」は「自分が0ならば、相手の1を0に変えることができる」。こうした約束を覚えるわけだが、正直ややこしい。それより「AND」を「どちらも」に置き換えて「自分と相手、どちらも1なら結果は1。ほかは0」と覚えるほうがわかりやすい。
「OR」は「自分が1ならば相手の0を1にすることができる」だが、これは「どちらかでも」と置き換える。「自分と相手、どちらかでも1ならば結果は1。ほかは0」。「XOR」は「OR」と似て非なるから「どちらか片方だけ」と置き換え「自分と相手、どちらか片方だけが1なら結果は1」でOK。「NOT」は「相手が0なら1に、1なら0に反転させることができる」だが、これは単純なのでそのまま覚える。
という具合に対策を練れば、パズルを解くのもそんなに難しくない…はずなんだけどワタクシのポンコツ脳ときたら、「AND」をつい「足す」と翻訳してしまい、1(AND)0を1とよく間違える(正解は0)。わが脳みその硬直ぶりには驚くばかりだが、このアプリはそんな老脳にもきっといい刺激となってくれるハズである。
論理演算はWEBやデータベースの検索にも応用されている。これを機に「AND」「OR」「NOT」への理解が深まれば、絞り込み検索のスキルアップも期待できそうなのでR。
コンピュータの基礎である論理演算を、パズルで遊びながら学べるゲームアプリ。無料でトライできるパズルは初級レベルの全32ステージだが、これがなかなか手強い。グラフィックスのクオリティも高いので、やっていて楽しい、脳トレに最適の1本だ。さらに中級~上級、マスターレベルが有料で用意されている。