- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報 過去問16年 問4について)
基本情報過去問16年問4の解説と基数変換のポイント
このQ&Aのポイント
- 基本情報過去問16年の問4について、解説と基数変換のポイントをまとめました。
- 問4では、関数MToIntを使用して、M進数からN進数への変換を行います。この問題のポイントは、後述で説明されている部分です。
- 変換する基数が10進数であることは特に説明がないため、他の基数でも解ける可能性があります。
- みんなの回答 (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進数」として理解するのが最もなじみ深いのですけれど,その整数値自体に基数はなく,何進数でもありません。