Lua: print integer as a binary

前端 未结 7 1881
遇见更好的自我
遇见更好的自我 2020-12-31 07:11

How can I represent integer as Binary?

so I can print 7 as 111

7条回答
  •  庸人自扰
    2020-12-31 07:31

    function reverse(t)
      local nt = {} -- new table
      local size = #t + 1
      for k,v in ipairs(t) do
        nt[size - k] = v
      end
      return nt
    end
    
    function tobits(num)
        local t={}
        while num>0 do
            rest=num%2
            t[#t+1]=rest
            num=(num-rest)/2
        end
        t = reverse(t)
        return table.concat(t)
    end
    print(tobits(7))
    # 111
    print(tobits(33))
    # 100001
    print(tobits(20))
    # 10100
    

提交回复
热议问题