joaohd 200 Postado Junho 15, 2010 Share Postado Junho 15, 2010 (editado) Eu e MatheusMkalo estamos estudando LUA mais a fundo, com o intuito de desenvolver códigos mais avançados e consequentemente, ampliar nossos conhecimentos na linguagem. Essas duas funções foram desenvolvidas por nós com a finalidade única de estudo. Possivelmente já existem outras e talvez seja até mesmo inútil. Aqui estão elas: math.bin: math.bin = function(n) local num = {} if type(n) == "number" then while math.floor((n / 2)) > 0 do table.insert(num,math.floor((n%2))) n = math.floor(n / 2) end table.insert(num, 1) else print("\aBad number to convert.") end return string.reverse(tostring(table.concat(num))) end math.dec: math.dec = function(n) local n = string.reverse(tostring(n)) local firstTab = {} for i in string.gmatch(tostring(n), ".") do table.insert(firstTab,i) end local secTab = {} for i,v in ipairs(firstTab) do table.insert(secTab, math.pow(2,i)*v) end local num = 0 for i = 1, #secTab do num = num + secTab[i] end return num/2 end Exemplo de uso: math.bin(25) --> Retorna 11001 math.dec(11001) --> Retorna 25 Para que servem? math.bin serve para converter números decimais (50,25,30,9,87, ...) em números binários (110010,11001,11110,1001,1010111, ...). math.dec faz o inverso, converte números binários (110010,11001,11110,1001,1010111, ...) em decimais (50,25,30,9,87, ...). Caso achem alguma finalidade, bom uso! Créditos : Apocarai & MatheusMkalo flw Editado Junho 15, 2010 por apocarai Link para o comentário Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Junho 15, 2010 Share Postado Junho 15, 2010 Gostei muito mesmo desse trabalho, Muito interessante como você usou as funções "básicas" para criar um conversor binário-decimal. Acho que quem consegue fazer isto, é porque já sabe muito e tem muita criatividade. Parabéns aos dois senhores. Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 25, 2018 Share Postado Abril 25, 2018 Esta noticia foi arquivada. Este tópico está fechado e foi movido para Noticia - Arquivo. + Caso tenha atualizações você poderá criar outro tópico. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados