> as.raw(15)
[1] 0f
> rawToBits(as.raw(15))
[1] 01 01 01 01 00 00 00 00
> rawToBits(0f)
Error: unexpected symbol in "rawToBits(0f"
> rawToBits("0f")
Error in rawToBits("0f") : argument 'x' must be a raw vector
> rawToBits("0x0f")
Error in rawToBits("0x0f") : argument 'x' must be a raw vector
我有一些问题要问:
1)是0f
原始类型数据?
2)为什么rawToBits(as.raw(15))
无法获得11110000
? 15不是11110000
?
15 = 0f = 1 * 2 ^ 0 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 1 * 2 ^ 3
当您输入0
时,[1] 0
1 00 00 00 00 00 00 00中rawToBits(as.raw(1))
的含义是什么?
在手册中,我得到a raw vector with entries 0 or 1
,entries 0 or 1
的含义是什么
为什么rawToBits(as.raw(2))
不是10 00 00 00 00 00 00 00
?
答案 0 :(得分:1)
只输入0f并不会给你一些原始类型。
> str(as.raw(15))
raw 0f
> str(0f)
Error: unexpected symbol in "str(0f"
> str("0f")
chr "0f"
如果您想知道这些位是怎么回事,您可以尝试其他一些值来更好地了解发生了什么
> rawToBits(as.raw(1))
[1] 01 00 00 00 00 00 00 00
> rawToBits(as.raw(2))
[1] 00 01 00 00 00 00 00 00
> rawToBits(as.raw(4))
[1] 00 00 01 00 00 00 00 00
> rawToBits(as.raw(8))
[1] 00 00 00 01 00 00 00 00
> rawToBits(as.raw(1 + 2 + 4 + 8))
[1] 01 01 01 01 00 00 00 00
> rawToBits(as.raw(15))
[1] 01 01 01 01 00 00 00 00