当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R bitwise 按位逻辑运算


R语言 bitwise 位于 base 包(package)。

说明

对整数向量进行逻辑运算,其元素被视为位集。

用法

bitwNot(a)
bitwAnd(a, b)
bitwOr(a, b)
bitwXor(a, b)

bitwShiftL(a, n)
bitwShiftR(a, n)

参数

a, b

整数向量;数值向量被强制转换为整数向量。

n

值最多为 31 的非负整数向量。

细节

整数向量的每个元素都有 32 位。

成对运算可以产生整数 NA

假设值表示无符号整数,则进行移位。

长度为参数中较长者的整数向量,如果长度为零,则长度为零。

如果输入为NA(强制后)或无效移位,则输出元素为NA

例子

bitwNot(0:12) # -1 -2  ... -13
bitwAnd(15L, 7L) #  7
bitwOr (15L, 7L) # 15
bitwXor(15L, 7L) #  8
bitwXor(-1L, 1L) # -2

## The "same" for 'raw' instead of integer :
rr12 <- as.raw(0:12) ; rbind(rr12, !rr12)
c(r15 <- as.raw(15), r7 <- as.raw(7)) #  0f 07
r15 & r7    # 07
r15 | r7    # 0f
xor(r15, r7)# 08

bitwShiftR(-1, 1:31) # shifts of 2^32-1 = 4294967295

也可以看看

逻辑运算符 !&|xor 。值得注意的是,这些对于 raw 参数确实按位工作。

"octmode""hexmode" 的标准逻辑运算符的实现基于这些函数。

bitops 对于数值向量具有类似的函数,但处理整数 或更大的整数的方式有所不同。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Bitwise Logical Operations。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。