基本情報技術者平成30年春期 午前問1について
昭和の語りべさん
(No.1)
基本情報技術者平成30年春期 午前問1について質問させてください。
https://www.fe-siken.com/kakomon/30_haru/q1.html
私個人としてはこの問題と回答自体が矛盾を持っているように感じました。
以下そう考えた理由を書いてみます。
お手数ですが間違いがあればご指摘をいただければと思います。
解説では正の数のところでいきなり
下2けたが11の正の2進数(10進での7や11)が例として出されています。
ちなみに某書籍でも同じ解説がされていました。
ただ問題では最初に 『ある整数』 について以下のように定義されています。
「ある整数値を,負数を2の補数で表現する2進表記法で表すと最下位2ビットは"11"であった。」
その上で以下のように問われます。
「10進表記法の下で,その整数値を4で割ったときの余りに関する記述として,適切なものはどれか」
そして正解は「その整数値が正ならば3」となっています。
これは問題として日本語が矛盾していませんでしょうか?
7:111や11:1011は最初の「ある整数」の定義に当てはまらない気がします。
なぜなら111も1011もただ2進数化しただけの結果であり
負数を2の補数で表現する2進表記法で表した結果の最下位2ビットは"11"に当てはまらないため
私の考え方の間違っている部分をご指摘いただけましたら幸いです。
ちなみに2の補数や2進数、10進数の変換部分などは
他の問題も含め納得していますので疑問に思っているのは
この問題の前述部分のみとなります。
よろしくお願いいたします。
https://www.fe-siken.com/kakomon/30_haru/q1.html
私個人としてはこの問題と回答自体が矛盾を持っているように感じました。
以下そう考えた理由を書いてみます。
お手数ですが間違いがあればご指摘をいただければと思います。
解説では正の数のところでいきなり
下2けたが11の正の2進数(10進での7や11)が例として出されています。
ちなみに某書籍でも同じ解説がされていました。
ただ問題では最初に 『ある整数』 について以下のように定義されています。
「ある整数値を,負数を2の補数で表現する2進表記法で表すと最下位2ビットは"11"であった。」
その上で以下のように問われます。
「10進表記法の下で,その整数値を4で割ったときの余りに関する記述として,適切なものはどれか」
そして正解は「その整数値が正ならば3」となっています。
これは問題として日本語が矛盾していませんでしょうか?
7:111や11:1011は最初の「ある整数」の定義に当てはまらない気がします。
なぜなら111も1011もただ2進数化しただけの結果であり
負数を2の補数で表現する2進表記法で表した結果の最下位2ビットは"11"に当てはまらないため
私の考え方の間違っている部分をご指摘いただけましたら幸いです。
ちなみに2の補数や2進数、10進数の変換部分などは
他の問題も含め納得していますので疑問に思っているのは
この問題の前述部分のみとなります。
よろしくお願いいたします。
2023.12.09 11:09
boyonboyonさん
★FE シルバーマイスター
(No.2)
>負数を2の補数で表現する2進表記法
これは、具体的に書くと
4ビットの場合
2進表記 10進表記
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 -8
1001 -7
1010 -6
1011 -5
1100 -4
1101 -3
1110 -2
1111 -1
になります。
>ある整数値を,「負数を2の補数で表現する2進表記法」で表すと最下位2ビットは"11"であった。
を考えると、当てはまるのは、
0011 3
0111 7
1011 -5
1111 -1
の4つになります。
それぞれを4で割ると
3÷4=0あまり3
7÷4=1あまり3
-5÷4=-1あまり-1 (除算の商は,絶対値の小数点以下を切り捨てる)
-1÷4=0あまり-1 (同上)
4ビットで考えましたが、たぶんビット数を増やしても変わらないと思います。
2023.12.09 18:04
boyonboyonさん
★FE シルバーマイスター
(No.3)
補足です。
10進表記の11について述べられていますが、
5ビットで表すと登場します。
00011 3
00111 7
01011 11
01111 15
10011 -13
10111 -9
11011 -5
11111 -1
10進表記の11について述べられていますが、
5ビットで表すと登場します。
00011 3
00111 7
01011 11
01111 15
10011 -13
10111 -9
11011 -5
11111 -1
2023.12.09 18:33
SGさん
(No.4)
まず「整数」は「自然数と0と,自然数に負の符号のついた数をあわせて整数という。ふつう,0,1,2,…のように,0と自然数をあわせたものを正の整数といい,-1,-2,…のように,負の符号がついたものを負の整数という。(せいすう【整数】 | せ | 辞典 | 学研キッズネットより転載)」と定義されているので、10進数の7や11は問題文の「ある整数」の定義にあてはまります。
スレ主さんが困惑されているのは、「ある整数値を」と前置きしていながら、さらに「負数を2の補数で表現する2進表記法で表すと最下位2ビットは"11"であった」と説明しているのにどうして正の整数が答えになるのだ?ということではありませんか?
2進数で負数を表現する方法は、絶対値, 1の補数, 2の補数の3つがあることを想いだしてください。
設問で「負の整数を表現するのは2の補数にしますよー」と受験者に提示しているだけにすぎず負の整数のみだけを考えればいいわけではありません。
もしも、「負の整数は絶対値で表現する」あるいは「負の整数は1の補数にする」と提示されていればそれに従うだけのことです。
スレ主さんが困惑されているのは、「ある整数値を」と前置きしていながら、さらに「負数を2の補数で表現する2進表記法で表すと最下位2ビットは"11"であった」と説明しているのにどうして正の整数が答えになるのだ?ということではありませんか?
2進数で負数を表現する方法は、絶対値, 1の補数, 2の補数の3つがあることを想いだしてください。
設問で「負の整数を表現するのは2の補数にしますよー」と受験者に提示しているだけにすぎず負の整数のみだけを考えればいいわけではありません。
もしも、「負の整数は絶対値で表現する」あるいは「負の整数は1の補数にする」と提示されていればそれに従うだけのことです。
2023.12.10 03:59
昭和の語りべさん
(No.5)
boyonboyonさん、SGさん確認が遅れ申し訳ありません。
自分自身数学の基礎知識がないことが確認できましたので
いただいた情報をもとに改めて勉強し直してみたいと思います。
貴重な知識をご教授いただきありがとうございました。
自分自身数学の基礎知識がないことが確認できましたので
いただいた情報をもとに改めて勉強し直してみたいと思います。
貴重な知識をご教授いただきありがとうございました。
2023.12.12 20:37
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告