投稿する

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
返信投稿用フォーム

お名前

顔アイコン


本文(コミュニティガイドライン⇱を順守して適切な投稿を心がけましょう)

投稿削除用のパスワード(20文字以内)

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

投稿記事削除用フォーム

投稿No. パスワード 
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop