BIT_SHIFT_RIGHT
説明
右シフト演算に使用され、通常は2進数のすべてのビットを指定されたビット数だけ右にシフトするために使用されます。この演算は通常、2進データの処理や、いくつかの数学的計算(除算の効率的な実装など)に使用されます。
-1を1つの位置だけ論理的に右シフトした結果は、BIGINT_MAX(9223372036854775807)です。
負の数だけ数値を右シフトすると、常に0の結果になります。
構文
BIT_SHIFT_RIGHT( <x>, <bits>)
パラメータ
| parameter | description |
|---|---|
<x> | シフト対象の数値 |
<bits> | 右シフトするビット数。<x>を右に何ビットシフトするかを決定する整数です。 |
戻り値
右シフト演算の結果を表す整数を返します。
例
select BIT_SHIFT_RIGHT(1024,3), BIT_SHIFT_RIGHT(-1,1), BIT_SHIFT_RIGHT(100, -1);
+--------------------------+------------------------+--------------------------+
| bit_shift_right(1024, 3) | bit_shift_right(-1, 1) | bit_shift_right(100, -1) |
+--------------------------+------------------------+--------------------------+
| 128 | 9223372036854775807 | 0 |
+--------------------------+------------------------+--------------------------+