lua中 後端發過來的 按位表示值,在前端中需要處理的函式
阿新 • • 發佈:2020-09-10
--- 獲取某個數的二進位制表示的 第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 endreturn bit_t end