在R中,将数字转换为二进制(以字符串形式表示,例如5将转换为"0000000000000101"
)的最简单方法是什么?虽然有intToBits
函数可以用,但它返回的是一个字符串向量,而非一个字符串:
> intToBits(12)
[1] 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[26] 00 00 00 00 00 00 00
我尝试了其他一些函数,但没有成功:
> toString(intToBits(12))
[1] "00, 00, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00"
intToBits
不会返回一个字符串向量,而是返回一个原始向量。请注意,该向量有32个元素。这是因为R使用32位整数,所以每个位都有一个元素。我无法想象出一种情况,将一个数字表示为字面上的位字符串会有什么用处...你到底想做什么呢? - Joshua Ulrich