HOME»基本情報技術者試験掲示板»令和6年パーフェクトラーニング対策問題①問16
投稿する

令和6年パーフェクトラーニング対策問題①問16 [5296]

 まきさん(No.1) 
すみませんもう一つ(スレ制限のためこちらに追記)
令和6年のパーフェクトラーニングにて、対策問題①問16

ソフトウェア開発技術者平成15年春期 午前問1より
※8ビットの2進数の各けたを,下位けたから順に,配列BITの要素1~8に格納してある。次の流れ図は配列BIT内の2進数の2の補数を求める方法を表したものである。ここで用いる方法は,下位けたから調べていき,最初に表れる1までは何もしないで,次のけたから0と1を反転させるものである。

という問題で
例:10101000
3行目SW=0
下位桁からいれると
        12345678
配列BIT 00010101となります。
5行目 BIT[i]=1で1ビット目が0なので偽になるため
11行目へ
11行目  else BIT[i]=0 なら
12行目  何もしない(0のまま)
(問題文‗下位けたから調べていき,最初に表れる1までは何もしない)
という解釈でしょうか
2024.02.09 22:16
miyaさん(No.2) 
問題文のとおりで  下位けたから調べていき,最初に表れる1までは何もしない  という解釈で合っています。

地獄のような量をトレースをしてみましたが、きちんと2の補数になりました。

 SW←0
 i=1
  if×
  else
   if〇
   何もしない

 i=2
  if×
  else
   if〇
   何もしない

 i=3
  if×
  else
   if〇
   何もしない

 i=4
  if〇
  SW←1

 i=5
  if×
  else
   if×
   else 
    Bit[5]←1

  i=6
   if〇
    if×
    else
     Bit[6]←0

  i=7
   if×
   else
    if×
    else 
     Bit[7]←1

  i=8
   if〇
    if×
    else
     Bit[6]←0
2024.02.11 21:59
miyaさん(No.3) 
最後のやつ
  Bit[6]←0  ではなく  Bit[8]←0  です。間違えました

  これで  0101 1000  になります  
2024.02.11 22:02
 まきさん(No.4) 
>miyaさん
鬼のようなトレースをありがとうございました。
2の補数は分かっていますが、PGにした時に読めないのは困りました。
基本が出来てないのかなと・・・
2024.02.12 11:08
miyaさん(No.5) 
自分で解くときも、確認のためにトレースするんですけど、焦ると未だにミスがちょこちょこあって慣れんですね...
2024.02.12 12:48
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop