- ベストアンサー
基本情報技術者試験問題
以下の問題の考え方を教えてください。 初心者で、本を読んでもなかなか理解できず困っています。 よろしくお願いします。 「数値の部分が6桁の符号付き10進数を、パック10進表記法で表すと、 必要なバイト数はいくらか」 ア 3 イ 4 ウ 6 エ 7
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
パック方式だと、10進数の1桁が4ビットに対応します。それに全体で4ビット分の符号部が加えられます。 この場合、6桁で24ビット、符号部で4ビットの併せて28ビットが必要な計算です。 1バイトは8ビットなので、3.5バイトという計算です。必要なバイト数は切り上げて4バイトが必要です。
その他の回答 (2)
- jjon-com
- ベストアンサー率61% (1599/2592)
ゾーン10進表現,パック10進表現ともに,10進数字0~9を4bitで表現する。 http://ja.wikipedia.org/wiki/%E4%BA%8C%E9%80%B2%E5%8C%96%E5%8D%81%E9%80%B2%E8%A1%A8%E7%8F%BE 符号も4bitで表現し,EBCDIC文字コードを採用したコンピュータでは,正は1100,負は1101。 キーワード「パック10進」でGoogle画像検索すると,2番目に次の画像がヒットする。 http://infosupport.infoteria.co.jp/asbook/images/03_04/WhatIsZonedPacked.png ゾーン10進数の格納形式は上図を参照せよ。 ゾーンパターン1111 + 数値4bit の計8bitで 1桁の10進数字を表す。 末尾の1桁のみゾーンパターンが符号パターンに置き換わるが, -1234のように4桁の10進数なら,4Byteとなる。 パック10進数の格納形式も上図を参照せよ。 ゾーンパターンの1111が取り除かれ, 数字1桁(4bit) × 4桁 + 符号4bit = 20bit = 2.5Byte 半端な空き4bitに0000を埋めて,3Byteとなる。 -------- ということで,6桁の符号付き10進数なら,パック10進表記法で, (数字6桁 + 符号1つ) × 4bit = 28bit = 3.5Byte 半端な空き4bitに0000を埋めて,4Byteとなる。
お礼
詳しい回答ありがとうございます! 教えていただいたページも参考になりました。
- maiko0318
- ベストアンサー率21% (1483/6969)
6桁ですから123456を格納してみましょう。 上位ビット0246 下位ビット135f fは符号 4バイトですね。 ゾーンだと 上位ビット00000f 下位ビット123456 で6バイト
お礼
早々にご回答ありがとうございます! すみません、本当に初心者で 恥ずかしながら1行目からわかりませんでした。 精進します。
お礼
シンプルでわかり易い回答ありがとうございます。 助かりました!