您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

oracle bitand函数

oracle bitand函数

在二进制中,“ set”表示“具有值1”。“未设置”表示“值为0”。

从Oracle BITAND文档中:

“结果的计算分几个步骤。首先,将每个参数A替换为值SIGN(A)* FLOOR(ABS(A))。此转换的结果是将每个参数都截断为零。其次,每个参数A(现在必须是一个整数值),然后将其转换为n位二进制补码二进制整数值。这两个位值使用按位AND运算进行合并。最后,将生成n位二进制补码值转换回NUMBER。”

简而言之,该函数将其参数截断,将其转换为二进制数(当前限制为128位),然后将两个二进制数与在一起,然后返回将二进制数转换回NUMBER的结果。

这是零和一的所有可能组合的结果:

SELECT BITAND(0, 0) AS "0, 0",  -- i.e. 0 AND 0 = 0
       BITAND(0, 1) AS "0, 1",  -- i.e. 0 AND 1 = 0
       BITAND(1, 0) AS "1, 0",  -- i.e. 1 AND 0 = 0
       BITAND(1, 1) AS "1, 1"   -- i.e. 1 AND 1 = 1
  FROM DUAL;

一个更复杂的示例是将11和5与在一起。在二进制中,十进制11变为“ 1011”。小数点后5位变为二进制“ 0101”。如果您将这些值加在一起,例如

1 0 1 1
0 1 0 1
-------
0 0 0 1

您将获得1个二进制,转换回十进制时仍为1。

分享并享受。

Oracle 2022/1/1 18:44:33 有369人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶