當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。