1. 程式人生 > 實用技巧 >lua中 後端發過來的 按位表示值,在前端中需要處理的函式

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