No.57 数値を2進数で格納するレジスタがある。
このレジスタに正の整数xを設定した後,"レジスタの値を2ビット左にシフトして,xを加える"操作を行うと,レジスタの値はxの何倍になるか。
ここで,あふれ(オーバフロー)は,発生しないものとする。
このレジスタに正の整数xを設定した後,"レジスタの値を2ビット左にシフトして,xを加える"操作を行うと,レジスタの値はxの何倍になるか。
ここで,あふれ(オーバフロー)は,発生しないものとする。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
2進数のビット列を左にnビットシフトするのは、2n倍するのと同じことです。
例えば 1010(2)は10進数で表すと10です。これを2ビット左シフトすると、10 1000(2)となり10進数で40です。
この問題では左に2ビットした後、元の数(x)を加えているので、22+1 で元の数の5倍になります。
例えば 1010(2)は10進数で表すと10です。これを2ビット左シフトすると、10 1000(2)となり10進数で40です。
この問題では左に2ビットした後、元の数(x)を加えているので、22+1 で元の数の5倍になります。
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |