--- 获取某个数的二进制表示的 第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