本文へスキップ

平成21年度 秋期 ITパスポート試験 問60

この問題の解説と、これまでの解答の記録です。

問60
頻出度★★☆

“甘味”,“うま味”,“塩味”,“酸味”,“苦味”の5種類の味覚を,6ビット(2進数で6けた)の数値で符号化する。これらを組み合わせた複合味を,数値の加減算で表現できるようにしたい。例えば,“甘味”と“酸味”を組み合わせた“甘酸っぱい”という複合味の符号を,それぞれの数値を加算して表現するとともに,逆に“甘酸っぱい”から“甘味”成分を取り除いた“酸味”を減算で表現できるようにしたい。味覚の符号として,適切なものはどれか。

  • 味覚符号表(行ア)
    甘味うま味塩味酸味苦味
    ア000000000001000010000011000100
  • 味覚符号表(行イ)
    甘味うま味塩味酸味苦味
    イ000001000010000011000100000101
  • 味覚符号表(行ウ)
    甘味うま味塩味酸味苦味
    ウ000001000010000100001000010000
  • 味覚符号表(行エ)
    甘味うま味塩味酸味苦味
    エ000001000011000111001111011111
出典 平成21年度 秋期 ITパスポート試験 問60
解説

問 60

  • 不正解ア

    甘味が000000(値0)なので、どの味に甘味を加算しても符号が変化せず、「甘酸っぱい」と「酸味」が同じ000011になってしまい区別できない。さらに うま味000001+塩味000010=000011 が酸味の符号と一致するなど、複合味が別の単一の味と衝突する。

  • 不正解イ

    符号が1,2,3,4,5と連番になっているため、甘味000001+うま味000010=000011 が塩味の符号と一致し、甘味000001+酸味000100=000101 が苦味の符号と一致する。複合味の和が単一の味と同じ値になり、符号から中身を一意に判別できない。

  • ウ

    正解 ウは 甘味=000001、うま味=000010、塩味=000100、酸味=001000、苦味=010000 と、5種類の味覚それぞれに互いに重ならない独立した1ビットを割り当てている。ビット位置が重複しないため加算しても桁上がりが起きず、和のビットパターンがそのまま「どの味が含まれるか」の集合を表す。例題どおりに計算すると、甘酸っぱい=甘味000001+酸味001000=001001 となり、立っている2つのビットが甘味と酸味を示す。ここから甘味成分を取り除く操作は 001001−000001=001000=酸味 と減算で正しく表現できる。このように、和がそのまま成分の集合を表し、加算・減算で複合味の合成と分解ができるのはウである。

  • 不正解エ

    符号1,3,7,15,31は下位ビットが互いに重なっているため、加算すると桁上がりが発生し、和のビット列が成分ビットの重ね合わせにならない。例えば 甘味000001+酸味001111=010000 で、和には甘味のビットも酸味のビットも残っておらず、符号を見て「どの味が含まれるか」を読み取れない。単純に1ビットずつを味に対応させるウのような表現になっていない点で不適切である。

ここがポイント
  • 複数の要素の有無を1つの数値で表すには、各要素に重ならない独立した1ビットを割り当てる(ビットごとのフラグ表現)。こうすると桁上がりが起きず、和のビットパターンがそのまま含まれる要素の集合を表す。
  • 符号の割当てが連番だったり値0を含んだりすると、異なる組合せの和が別の符号と衝突し、加減算による合成・分解ができなくなる。
用語

解答の記録