HOME»基本情報技術者試験掲示板»平成22年秋期午後問8

基本情報技術者試験掲示板

掲示板検索:

[3495]平成22年秋期午後問8

 論理演算子さん(No.1) 
https://www.fe-siken.com/kakomon/22_aki/pm08.html
の設問2の空欄fで01又は10に切り替わりが多いものとあります。
Q1.そもそもどういう変化が起きてビット切り替わるのでしょうか?
Q2.なぜ"10100"、"10010"、"11010"、"10110"が切り替わりが最も多いと分かったのでしょうか?
2進数などの数学分野がよくわからないもんで...すみません。お手数おかけします。
2021.07.21 17:08
関数従属さん(No.2) 
FE・シルバーエキスパート
Q1.
プログラム2における、図3のCやEの部分ですが、
変数Rの下2桁が"00"、"01"、"10"、"11"の内どれかを判定しており、
"01"の時(Cが真)、Dを行う  "10"の時(Eが真)、Fを行う
ようになっております。

変数RにはAでNの値が設定されます。
Nの値のビットにより切り替わりが起きる/起きないが変わります。

Q2.
問題文より負数は2の補数で表現であり、N < 0より最上位ビットは1となります。
また、Aで変数Rに設定後、Bにより一番右に0が入りますが、
"01"の時(Cが真)、Dを行う  "10"の時(Eが真)、Fを行う
が何回行われるかはBにより設定される一番右の0を含めて考えます。

即ち1XXX0の5ビットで考える事になります。
XXXについて000〜111の8パターンを調べる事で、
ビット切り替え数が最大のものを探します。

10000・・切り替え1回
10010・・切り替え3回
10100・・切り替え3回
10110・・切り替え3回
11000・・切り替え1回
11010・・切り替え3回
11100・・切り替え1回
11110・・切り替え1回
2021.07.21 22:25
 論理演算子さん(No.3) 
ご回答ありがとうございます。なるほど。
全部で8種類の選択肢がありそれを順番にプログラムで実行していって条件分岐で切り替わる回数を数えていくのですね。とても分かりやすい説明ありがとうございます。
2021.07.22 21:28

【返信投稿用フォーム】

お名前(10文字以内)

顔アイコン


本文(2,000文字以内)

投稿削除用のパスワード(20文字以内)

プレビュー
※CBT方式においては出題内容の公開は禁止されているため、出題内容を尋ねたり、出題内容を特定できる類の投稿を禁止します。
※宣伝や迷惑行為を防止するため、当サイトとIPAサイト以外のURLを含む文章の投稿は禁止されています。

投稿記事削除用フォーム

投稿No. パスワード 
© 2010-2021 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop