プロが教える店舗&オフィスのセキュリティ対策術

基本情報資格の勉強をしているのですが、平成16年度の問4の問題でわからない点があるので教えてください。

問題は下記を参考にしていただきたいのですが、
http://情報処理試験.jp/FE16b-pm/t04.html

自分が持っている解説によると、

”関数MToIntは後述するように、Frdx(関数MToIntではRdx)を基数とする数字列Fnum(関数MToIntではNum)を十進数に変換する。”

つまり
M進数→10進数→N進数
となり、これを前提に問題を解いていくようなのです。

しかし、私には”後述”の部分がどこかわかりません。
おそらくどこか問題の記述から10進数であることが、把握できるはずだと思うのですが、
どの個所から考えればよいのでしょうか??

あと他のサイトなどの解説を読んで見ると、変換する基数が10進数であることの説明が特に書いていない気がするのですが、変換する基数を10進数だとしなくても解ける問題なのでしょうか??

よろしくおねがいします。

A 回答 (1件)

問題文を参照。



--------
〔プログラムの説明〕
関数 RadixConv は,M 進数字列(2 ≦ M ≦ 16)を,N 進数字列(2 ≦ N ≦ 16)に基数変換するプログラムである。
(2) RadixConv は,M 進数字列を整数値に変換した後,その整数値を N 進数字列に変換する。 M 進数字列を整数値に変換する関数は MToInt,整数値を N 進数字列に変換する関数は IntToN である。
--------

ということで。

> 関数MToIntは後述するように……十進数に変換する。

というのは間違いです。10進数に変換しているのではなく,整数値に変換している。

表1~5および〔プログラム〕ではそのデータ型は整数型だと説明しています。整数型(int型)は多くのプログラム言語では,2の補数を採用した符号つき固定小数点数形式のbit列として格納されます。

ですから。

> 変換する基数が10進数であることの説明が特に書いていない気がするのですが、
> 変換する基数を10進数だとしなくても解ける問題なのでしょうか??

はい,解けます。人間にとっては,その整数値を「元々の値は10進数」として理解するのが最もなじみ深いのですけれど,その整数値自体に基数はなく,何進数でもありません。
    • good
    • 0

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