环境
系统:Windows 10
引擎:Lua5.3.5
用途
例如:以标志位记录一系列任务的完成情况,通过其差值位移次数可以判断这是第几个任务(即:任务索引)。
实例
local old_flag = 223 -- 11011111
local new_flag = 255 -- 11111111
local diff_flag = new_flag - old_flag -- 32
local temp_flag = diff_flag
local index = 0
print('flag change:')
while temp_flag > 0 do
temp_flag = temp_flag >> 1
print(temp_flag)
index = index + 1
end
print('index:', index)
结果
flag change:
16
8
4
2
1
0
index: 6
[Finished in 0.1s]
以上简单回顾。
参考资料:
Lua 5.3 参考手册 https://www.runoob.com/manual/lua53doc/manual.html