投稿する

10倍する操作 [5231]

 ライスさん(No.1) 
https://www.ap-siken.com/kakomon/17_haru/q1.html

例えば  X を2だとして  (二進数だと10)
10倍は20なので(二進数だと10100)

そうすると答えは「ア」だと間違いな気がするのですがいかがでしょうか?
2024.07.17 20:12
chihiroさん(No.2) 
AP ゴールドマイスター
x=2(2進数で10)とします。
xを2ビット左シフト  10→1000
x(=10)を加算  1000+10=1010
更に1ビット左シフト  1010→10100(10進数で20)
間違っていませんね。
2024.07.17 20:40
suttokoさん(No.3) 
この問題は10倍を2*(2^2+1)倍と見て取るというのを意識してみると良いと思います。
ビット左シフトというのは、1ビット動かすごとに数全体を2倍する動作です。
なので、2ビット左シフトして4倍、元の数を足して4倍+1倍で5倍、それをさらに1ビット左シフトで2倍して10倍…といった動きになります。
また、このことより二進数の数をN倍しようとするときは、Nを2の累乗と1の和と積だけであらわせないか考えるとぐっと解きやすくなると思います!
頑張って下さい!
2024.07.22 12:20
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop