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

1 番目と 3 番目の結果は期待どおりですが、c(1,2,3) として指定されたベクトルに対して別の生ベクトルが得られるのはなぜですか?

4

1 に答える 1

6

おそらく、一方が整数として格納され、もう一方が double として格納されているためです。

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