我一直在使用以下代码将小数转换为二进制文件,但我似乎无法将大于1069的十进制转换为二进制。
run_id = 1:1600
run_ids = as.data.frame(run_id)
run_ids$bin = 0
for (i in 1:length(x)){
run_ids[i,2] = as.numeric(paste(rev(as.numeric(intToBits(as.numeric(run_ids[i,1])))), collapse=""))
}
不幸的是,我想要转换的数字范围高达1,600。 我曾尝试使用as.double,as.numeric来解决问题,但这些不起作用。
我错过了什么?
提前感谢您提供的任何帮助。
答案 0 :(得分:0)
您的代码经过小幅修正后仍然有效。
将for(i in 1:length(x)){
替换为for(i in run_id){
:
run_id <- 1:1600
run_ids <- as.data.frame(run_id)
run_ids$bin <- 0
for (i in run_id){
run_ids[i,2] <- as.numeric(paste(rev(as.numeric(intToBits(as.numeric(run_ids[i,1])))), collapse=""))
}
> tail(run_ids)
# run_id bin
#1595 1595 11000111011
#1596 1596 11000111100
#1597 1597 11000111101
#1598 1598 11000111110
#1599 1599 11000111111
#1600 1600 11001000000