大滝本  4.12

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
まきさん  
(No.1)
4.12のトレースをやってみました
5*3=15の2進数の乗算

x←00000101 (3)
y←00000011 (5)
z←00000000
i←1
if((yΛ00000001)= 00000001)
   
  00000011
  00000001
-----------
  00000001

z←z+x
 00000000
+00000101
---------
 00000101

endif
x←x<<1
00001010

y←y>>1
00000001

i←i+1
2  1

while(i<=4)
      2

if((yΛ00000001)= 00000001)
y 00000001
  00000001
----------
  00000001
z←z+x
 00000101
 00001010
---------
 00001111

x←x<<1
00001010
y←y>>1
00000000
i←i+1
3  2
while(i<=4)
      3
if((yΛ00000001)= 00000001) 不成立
 00000000 
 00000001
----------
 00000000

return z(00001111)
という解釈でしょうか
だから
a yΛ0000000 
b y←y>>1
となるわけでしょうか
2024.02.17 18:22
まきさん  
(No.2)
すみません
x←00000101 (5)
y←00000011 (3)
です
2024.02.17 19:12
jjon-comさん 
FE ゴールドマイスター
(No.3)
ループカウンタ i が1,2,3,4と変化しますから、
次のif文は

if((yΛ00000001)= 00000001) 成立
if((yΛ00000001)= 00000001) 成立
if((yΛ00000001)= 00000001) 不成立
if((yΛ00000001)= 00000001) 不成立★

と4回実行されます。No.1のトレースでは ★で示した4回目が抜けています。
2024.02.17 21:47
まきさん  
(No.4)
>jjon-comさん
ありがとうございます。4回目が抜けてました。
2024.02.18 10:12

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop