[R-br] Função que transforma decimal em binario e vice-versa
Leonard de Assis
assis.leonard em gmail.com
Terça Dezembro 20 09:40:13 BRST 2011
Claudio,
segue a função
eu adaptei de um código postado na lista R internacional (Coloquei
suporte a int64, pacote int64. Se não quiser usar deste jeito, basta
substituir as chamadas por as.integer)
integer2binary <- function(x, min.digits=floor(logb(max(as.integer(x)),
base = 2)) + 1) {
xi <- int64::as.uint64(x)
if(any(is.na(xi) | ((x-xi)!=0)))
print(list(ERROR="x not integer", x=x))
N <- length(x)
xMax <- max(int64::as.uint64(x))
ndigits <-max(min.digits,(floor(logb(xMax, base=2))+1))
Base.b <- array(NA, dim=c(N, ndigits))
for(i in 1:ndigits) {
Base.b[, ndigits-i+1] <- (x %% 2)
x <- (x %/% 2)
}
if(N ==1) Base.b[1, ] else Base.b
}
[]s
Leonard de Assis
assis <dot> leonard <at> gmail <dot> com
Em 19/12/2011 22:11, Claudio Carneiro escreveu:
> Olá todos,
>
> Estou a um tempo à procura, porém sem sucesso, por uma função, que já
> esteja disponivel no R, que transforme número decimal em binário, e
> uma que tranforme binário em decimal. Gostaria se vocês tem
> conhecimento de alguma?
>
> Grato desde já,
> /Claudio Roberto Carneiro/
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20111220/1e96d064/attachment.html>
Mais detalhes sobre a lista de discussão R-br