HOME»応用情報技術者試験掲示板»平成27年春期 午前問2
投稿する
平成27年春期 午前問2 [0413]
BEさん(No.1)
平成27年春期 午前問2の解説がごり押しなのが気になったので書き込みます。
2x =xの1bit左シフト
x/2=xの1bit右シフト
であることから、
2x =x1 x2 0
x/2=x1
となります。
2xからx1を用いてx2 x1を作るには
x1 x2 0 =2x
-x1 0 0 =x1<<2=(x/2)<<2=(x/2)*4
+0 0 x1=x1=(x/2)
とすればよく、
2x-(x/2)*4+x(x/2)=2x-3*(x/2)
となるため、答えはウとなります。
2x =xの1bit左シフト
x/2=xの1bit右シフト
であることから、
2x =x1 x2 0
x/2=x1
となります。
2xからx1を用いてx2 x1を作るには
x1 x2 0 =2x
-x1 0 0 =x1<<2=(x/2)<<2=(x/2)*4
+0 0 x1=x1=(x/2)
とすればよく、
2x-(x/2)*4+x(x/2)=2x-3*(x/2)
となるため、答えはウとなります。
2015.04.22 00:04
chaosさん(No.2)
考え方はBEさんと同じだと思いますが、もう少し分りやすくと思いまして。
Xと×が紛らわしいので「掛ける」(×)を*で表しました。
X=X1*2+X2
ですから
X*2=X1*4+X2*2・・・・・(1)
int(X/2)=X1・・・・・・・・(2)
2進X2X1は
X2*2+X1
ですから(1),(2)からこの式になるのは
X*2-3*int(X/2)
Xと×が紛らわしいので「掛ける」(×)を*で表しました。
X=X1*2+X2
ですから
X*2=X1*4+X2*2・・・・・(1)
int(X/2)=X1・・・・・・・・(2)
2進X2X1は
X2*2+X1
ですから(1),(2)からこの式になるのは
X*2-3*int(X/2)
2015.04.22 11:22
管理人(No.3)
お二方ともありがとうございます。とても参考になりました。
必要以上に冗長な文になってしまったかも知れませんが、解説の方も"ごり押し"をやめにして書き直してみました。
必要以上に冗長な文になってしまったかも知れませんが、解説の方も"ごり押し"をやめにして書き直してみました。
2015.04.23 22:32
はっぴさん(No.4)
正しい理解という意味では、BEさんchaosさんの解説が間違いないと思います。
ただ、やはりここはセンスを磨き!?
入れ替えても値が変わらない3(2進で11)に注目したいところです。
しかも今回は、3 =6-αで、α=3の【ウ】に暗算&消去法でたどり着けてしまいます。
・・・が、どちらかというと題意を把握することが難しい問題ですし、
試験本番の2問目でいきなりバクチに見える解放は現実的じゃないかも。。。
ただ、やはりここはセンスを磨き!?
入れ替えても値が変わらない3(2進で11)に注目したいところです。
しかも今回は、3 =6-αで、α=3の【ウ】に暗算&消去法でたどり着けてしまいます。
・・・が、どちらかというと題意を把握することが難しい問題ですし、
試験本番の2問目でいきなりバクチに見える解放は現実的じゃないかも。。。
2015.04.25 02:23
ささにしきさん(No.5)
私は計算が複雑にならないように
2進数の10(整数2)が2進数の01(整数1)になるように考えました。
整数を2にすることで(x/2)の部分が1になり把握しやすいのでは?と思います。
2桁の2進数の種類は4種類なので、どれが一番単純な計算になるのか?
も題意にはあったように思われます。
ただ題意を理解するのに時間がかかるのは同感です。
2進数の10(整数2)が2進数の01(整数1)になるように考えました。
整数を2にすることで(x/2)の部分が1になり把握しやすいのでは?と思います。
2桁の2進数の種類は4種類なので、どれが一番単純な計算になるのか?
も題意にはあったように思われます。
ただ題意を理解するのに時間がかかるのは同感です。
2015.04.27 09:58