アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の問題の考え方を教えてください。
初心者で、本を読んでもなかなか理解できず困っています。
よろしくお願いします。

「数値の部分が6桁の符号付き10進数を、パック10進表記法で表すと、
必要なバイト数はいくらか」
ア   3
イ   4
ウ   6
エ   7

A 回答 (3件)

パック方式だと、10進数の1桁が4ビットに対応します。

それに全体で4ビット分の符号部が加えられます。

この場合、6桁で24ビット、符号部で4ビットの併せて28ビットが必要な計算です。

1バイトは8ビットなので、3.5バイトという計算です。必要なバイト数は切り上げて4バイトが必要です。
    • good
    • 1
この回答へのお礼

シンプルでわかり易い回答ありがとうございます。
助かりました!

お礼日時:2013/10/31 17:52

ゾーン10進表現,パック10進表現ともに,10進数字0~9を4bitで表現する。


http://ja.wikipedia.org/wiki/%E4%BA%8C%E9%80%B2% …
符号も4bitで表現し,EBCDIC文字コードを採用したコンピュータでは,正は1100,負は1101。

キーワード「パック10進」でGoogle画像検索すると,2番目に次の画像がヒットする。
http://infosupport.infoteria.co.jp/asbook/images …

ゾーン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となる。
    • good
    • 0
この回答へのお礼

詳しい回答ありがとうございます!
教えていただいたページも参考になりました。

お礼日時:2013/10/31 17:52

6桁ですから123456を格納してみましょう。


上位ビット0246
下位ビット135f fは符号

4バイトですね。

ゾーンだと
上位ビット00000f
下位ビット123456

で6バイト
    • good
    • 0
この回答へのお礼

早々にご回答ありがとうございます!
すみません、本当に初心者で
恥ずかしながら1行目からわかりませんでした。
精進します。

お礼日時:2013/10/31 17:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!