ビットシフト |
辞書:電算用語の基礎知識 技術演算器編 (TTCPU) |
読み:ビットシフト |
外語:bit shift |
品詞:さ変名詞 |
レジスターや変数のビット列を右方向ないし左方向にずらすビット演算。
|
概要 |
符号ビットの扱いにより、算術シフトと論理シフトに分けられる。
ビットシフト演算では、左に1ビットずらすと整数値は2倍に、右に1ビットずらすと整数値は1/2倍になる。
乗算 |
手法 |
ビットシフト演算のみでは、2±nの計算しかできないため常に偶数倍または偶数分の一(正確には2の累乗)しか求められないが、これに加算を加えれば、奇数倍を求めることも可能である。ただし、奇数分の一(正確には2の累乗でない数を割る数とする除算)は簡単には実現できない。
高級言語の場合はコンパイラー次第であるが、アセンブリ言語の場合、CPUが持つ乗算命令や除算命令を用いるより高速に結果を求められるため、古くよりよく使われている。
サンプル |
xが引数、yに結果を入れるとすると、次のようになる。
必要な組み合わせが増える倍率の場合は乗算命令を使うより遅くなる可能性があるが、古く8ビットMPUや一部の16ビットMPUなどのように乗算命令や除算命令を持たないMPU、持っていても非常に遅いMPUなどでは、アセンブリ言語でプログラミングする際に有用なノウハウであった。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |