跳到主要内容

BIT_SHIFT_RIGHT

描述

用于 右移 位运算,通常用于将二进制数字的所有位向右移动指定的位数。这种操作通常用于处理二进制数据,或者用于一些数学计算(如除法的高效实现)。

对 -1 逻辑右移一位得到的结果是 BIGINT_MAX(9223372036854775807)。

对数字右移负数为得到对结果始终为 0。

语法

BIT_SHIFT_RIGHT( <x>, <bits>)

参数

参数说明
<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 |
+--------------------------+------------------------+--------------------------+