シフト演算

問題

数値を2進数で格納するレジスタがある。このレジスタに正の整数 x を設定した後, "レジスタの値を2ビット左にシフトして,xを加える”操作を行うと,レジスタの値は x の何倍になるか。ここで,あふれ(オーバフロー)は,発生しないものとする。

回答

5

解説

レジスタの値を1ビット左にシフトすると21倍になり、レジスタの値を2ビット左にシフトすると22倍になる。

 よって、 x ×4+ x =5 x となるので5倍になる。

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License