10倍する操作

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

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

そうすると答えは「ア」だと間違いな気がするのですがいかがでしょうか?
2024.07.17 20:12
chihiroさん 
AP ゴールドマイスター
(No.2)
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

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため当サイトとIPAサイト以外のURLを含む記事の投稿は禁止されています。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop