lua提供對變數的位操作,雖然可能不如直接用底層c實現起來效率高,但是聊勝於無吧.lua歷經幾個大的版本變更,每個版本對應的位操作方式也是略有不同,本文主要記錄lua 5.0 版本之後的各種位操作方法。
lua 5.1版本使用乙個外部的bitlib庫,提供幾個位操作函式。
-- 引入bit庫
require "bit"
-- and操作
bit.band(a,b)
-- or操作
bit.bor(a,b)
-- xor操作
bit.bxor(a,b)
-- not操作
bit.bnot(a,b)
-- 左移n位
bit.lshift(a,n)
-- 右移n位
bit.rshift(a,n)
lua 5.2版本提供了乙個內建庫bit32,同樣以函式的形式提供位操作。
-- 引入內建bit32庫
require "bit32"
-- and操作
bit32.band(a,b)
-- or操作
bit32.bor(a,b)
-- xor操作
bit32.bxor(a,b)
-- not操作
bit32.bnot(a,b)
-- 左移n位
bit32.lshift(a,n)
-- 右移n位
bit32.rshift(a,n)
自lua 5.3版本後,lua像其他語言一樣開始提供內建操作符實現位操作,但是操作符代表的含義可能與c++\python之類的略有不同。
-- and操作
a & b
-- or操作
a | b
-- xor操作
a ~ b
-- not操作
~a-- 左移n位
a << n
-- 右移n位
a >> n
lua中位運算操作
description filename bit.lua this module provides a selection of bitwise operations.history initial version created by 陣雨 2005 11 10.notes bit for i 1...
OleDb操作不同版本的Excel
1 操作excel2007以前 不含2007 的連線字串 string strconn provider microsoft.jet.oledb.4.0 data source excelfilepath extended properties excel 8.0 hdr yes imex 1 此連...
Android 不同版本下Bitmap建立差異
1.問題描述 乙個雪花效果,在android4.0以下系統正常執行,但是在android4.1上異常退出。2.問題定位 看一段 private bitmap mflakeimage null private bitmap mflakeimagetemp null mflakeimagetemp bi...