2
> writeBin(1:3, raw(), size=4, endian="little")
 [1] 01 00 00 00 02 00 00 00 03 00 00 00
> writeBin(c(1,2,3), raw(), size=4, endian="little")
 [1] 00 00 80 3f 00 00 00 40 00 00 40 40
> writeBin(c(1:3), raw(), size=4, endian="big")
 [1] 00 00 00 01 00 00 00 02 00 00 00 03
> writeBin(c(1,2,3), raw(), size=4, endian="big")
 [1] 3f 80 00 00 40 00 00 00 40 40 00 00

第一个和第三个结果是我所期望的,但是为什么对于指定为 c(1,2,3) 的向量,我得到不同的原始向量?

4

1 回答 1

6

可能是因为一个存储为整数,另一个存储为双精度:

typeof(1:3)
typeof(c(1,2,3))
typeof(c(1L,2L,3L))
于 2013-06-23T17:20:51.700 回答