在 rnn 包中,可以使用 int2bin 将 int 转换为二进制。像
a= int2bin(8)
现在,当我们bin2int
在 a 上使用时,它应该给出 8。简单地说
bin2int(int2bin(8))
应该是 8。但它给出了别的东西:134217728。
为什么?将其转换回 int 的正确方法是什么?
我无法访问 rnn 包,因为它报告了一些错误 https://cran.r-project.org/web/packages/rnn/index.html页面。我建议你试试这个。
library(binaryLogic)
as.binary(8) ///[1] 1 0 0 0
as.intfrombinary <- function(x) {
returnvalue<-
sum(2^(which(rev(unlist(strsplit(as.character(x), "")) == 1))-1))
return(returnvalue)
}
as.intfrombinary(as.binary(8)) ///[1] 8