> 数学 >
R语言 里面怎么把一个数转换为二进制的0,1串,比如5=101,
人气:240 ℃ 时间:2020-04-01 12:26:09
解答

先说简单的,有一个叫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"
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版