第2種情報処理技術者試験 2000年度 = 平成12年度・春期 午前 問7

 10進数の+432をパック10進数で表したときのビットパターンはどれか。ここで、符号は最後の4ビットとし、+は“1100”、-は“1101”で表すものとする。

 ア 0000 0001 1011 1100  イ 0001 1011 0000 1100
 ウ 0100 0011 0010 1100  エ 0100 0011 0010 1101

解答

 ウ

解説

 パック10進数では、10進数の各数字を4ビットの2進化10進数BCD(binary coded decimal)で表し、最後の桁(4ビット)に+あるいは-を示す符号部を加えたものです。全体のビット数が8の倍数となるように、もとの数値のけた数が偶数のときは、先頭4ビットを0で埋めます。
 具体例を示します。

                           符 号       ┌──┬──┬──┬──┐      ┌──┬──┐  +174 │ 1 │ 7 │ 4 │ + │      │ + │ - │       ├──┼──┼──┼──┤      ├──┼──┤       │0001│0111│0100│1100│      │1100│1101│       └──┴──┴──┴──┘      └──┴──┘           16ビット=2バイト       ┌──┬──┬──┬──┐  -28  │ 0 │ 2 │ 8 │ - │       ├──┼──┼──┼──┤       │0000│0010│1000│1101│       └──┴──┴──┴──┘           16ビット=2バイト       ┌──┬──┬──┬──┬──┬──┐ +6478 │ 0 │ 6 │ 4 │ 7 │ 8 │ + │       ├──┼──┼──┼──┼──┼──┤       │0000│0110│0100│0111│1000│1100│       └──┴──┴──┴──┴──┴──┘           24ビット=3バイト

 本問で問われているのは+432ですから、次のように表現されることになります。

      ┌──┬──┬──┬──┐  +432 │ 4 │ 3 │ 2 │ + │       ├──┼──┼──┼──┤       │0100│0011│0010│1100│       └──┴──┴──┴──┘           16ビット=2バイト

 nの10進数をパック10進数で表現すると(n + 2) / 2バイトになります。


BohYoh.comトップページへ