zoukankan      html  css  js  c++  java
  • lua中 后端发过来的 按位表示值,在前端中需要处理的函数

    --- 获取某个数的二进制表示的 第n位  最低位是 1
    ---@param input number 二进制
    ---@param n number 第n位
    ---@return number 返回 1 或者 0 
    function MathUtils:get_bit_by_position( input, n )
        local output = input
        output = output / ( 2 ^ ( n -1 ) ) -- 先去掉该位置后面的数
        output = math.floor( output )      -- 取整
        output = output % 2                -- 取最后一位
        return output
    end
    ---十进制转为二进制
    ---@param number number 要转的数字
    ---@return number 二进制
    function MathUtils:decimalism_change_two( number )
        local bit_t = {}
        local num = number
        if num < 0 then
            return 
        end
        if num < 2 then
            local bit = math.floor( num )
            table.insert( bit_t ,bit )
            return bit_t
        end
        
        while( num > 1) do
            local bit = num % 2
            num  = num / 2
            num = math.floor( num )
            table.insert( bit_t ,bit )
            if num <=1 then
                table.insert( bit_t ,num )
            end
        end
        return bit_t
    end
  • 相关阅读:
    hash介绍
    序列化
    面向对象编程
    计算机系统基础知识05
    19、Python之队列
    18、Python之多线程
    17、Python之paramikomo
    16、Python之socket网络编程
    15、Python之异常处理
    14、Python之反射
  • 原文地址:https://www.cnblogs.com/dmc-nero/p/13645977.html
Copyright © 2011-2022 走看看