ID EN
Miscellaneous

bitwise

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Operasi logis pada vektor bilangan bulat dengan elemen dipandang sebagai kumpulan bit.

Syntax

R
bitwNot(a)
bitwAnd(a, b)
bitwOr(a, b)
bitwXor(a, b)<p></p><p>bitwShiftL(a, n)
bitwShiftR(a, n)</p>

Arguments

Parameter Deskripsi
a, b integer vectors; numeric vectors are coerced to integer vectors.
n non-negative integer vector of values up to 31.

Return Value

Vektor bilangan bulat dengan panjang argumen yang lebih panjang, atau panjang nol jika panjangnya nol. Elemen keluarannya adalah NA jika masukannya adalah NA (setelah paksaan) atau pergeseran yang tidak valid.

Details

Setiap elemen vektor bilangan bulat memiliki 32 bit. Operasi berpasangan dapat menghasilkan bilangan bulat NA. Pergeseran dilakukan dengan asumsi nilai mewakili bilangan bulat yang tidak ditandatangani.

Contoh

Example
R
# NOT RUN {
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
# }

See Also

The logical operators ! & | xor. Notably these do work bitwise for raw arguments. The classes "octmode" and "hexmode" whose implementation of the standard logical operators is based on these functions. Package bitops has similar functions for numeric vectors which differ in the way they treat integers \(2^{31}\) or larger.