加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – PL / SQL中的Shift运算符

发布时间:2021-05-16 02:14:40 所属栏目:站长百科 来源:网络整理
导读:PL / SQL中是否有替代的移位运算符?有bitand函数,但它只接受binary_integer类型的参数. 如果我需要检查真正长数字的较低/较高位(可能设置在行中),我该怎么办? 在C中有和操作符.我如何在PL / SQL中实现它们? 以下答案不是字节序不可知的,我的措辞是基于小

PL / SQL中是否有替代的移位运算符?有bitand函数,但它只接受binary_integer类型的参数.

如果我需要检查真正长数字的较低/较高位(可能设置在行中),我该怎么办?

在C中有<<和>>操作符.我如何在PL / SQL中实现它们?

以下答案不是字节序不可知的,我的措辞是基于小端格式…

您可以简单地将位移位(向左移位)或将参数除(右移)2乘以x的幂,其中x是要移位的位数.例如,如果我需要将数字的低位字节(255:22222111)向左移16位,我将执行以下操作:

select 255 * power(2,16) from dual;  
-- the result will be (16711680:222221110000000000000000)

相反,如果我想将值16711680 16位向右移动,我将执行以下操作:

select 16711680 / power(2,16) from dual;
-- the result will be (255:22222111)

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读