R语言 里面怎么把一个数转换为二进制的0,1串,比如5=101,

如题所述

先说简单的,有一个叫strtoi()的函数

# 如果直接写
> strtoi("111")
[1] 111
# 如果加base = 2,就是告诉R要换成十进制
> strtoi("111", base = 2)
[1] 7

 反过来就有些麻烦,R自带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 
[25] 00 00 00 00 00 00 00 00

12换成二进制是1100,上面答案实际上是反过来读,三四位是11,其余都是0.

paste(rev(as.integer(intToBits(12))), collapse="")
[1] "00000000000000000000000000001100"

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-15
# 如果直接写
> strtoi("111")
[1] 111
# 如果加base = 2,就是告诉R要换成十进制
> strtoi("111", base = 2)
[1] 7
反过来就有些麻烦,R自带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
[25] 00 00 00 00 00 00 00 00
12换成二进制是1100,上面答案实际上是反过来读,三四位是11,其余都是0.
paste(rev(as.integer(intToBits(12))), collapse="")
[1] "00000000000000000000000000001100"
相似回答