青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 9,comments - 14,trackbacks - 0
--[[
Description:
    FileName:bit.lua
    This module provides a selection of bitwise operations.
History:
    Initial version created by  陣雨 2005-11-10.
Notes:
  ....
]]
--[[{2147483648,1073741824,536870912,268435456,134217728,67108864,33554432,16777216,
        8388608,4194304,2097152,1048576,524288,262144,131072,65536,
        32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1}
        ]]


bit={data32={}}
for i=1,32 do
    bit.data32[i]=2^(32-i)
end

function bit:d2b(arg)
    local   tr={}
    for i=1,32 do
        if arg >= self.data32[i] then
        tr[i]=1
        arg=arg-self.data32[i]
        else
        tr[i]=0
        end
    end
    return   tr
end   --bit:d2b

function    bit:b2d(arg)
    local   nr=0
    for i=1,32 do
        if arg[i] ==1 then
        nr=nr+2^(32-i)
        end
    end
    return  nr
end   --bit:b2d

function    bit:_xor(a,b)
    local   op1=self:d2b(a)
    local   op2=self:d2b(b)
    local   r={}

    for i=1,32 do
        if op1[i]==op2[i] then
            r[i]=0
        else
            r[i]=1
        end
    end
    return  self:b2d(r)
end --bit:xor

function    bit:_and(a,b)
    local   op1=self:d2b(a)
    local   op2=self:d2b(b)
    local   r={}
    
    for i=1,32 do
        if op1[i]==1 and op2[i]==1  then
            r[i]=1
        else
            r[i]=0
        end
    end
    return  self:b2d(r)
    
end --bit:_and

function    bit:_or(a,b)
    local   op1=self:d2b(a)
    local   op2=self:d2b(b)
    local   r={}
    
    for i=1,32 do
        if  op1[i]==1 or   op2[i]==1   then
            r[i]=1
        else
            r[i]=0
        end
    end
    return  self:b2d(r)
end --bit:_or

function    bit:_not(a)
    local   op1=self:d2b(a)
    local   r={}

    for i=1,32 do
        if  op1[i]==1   then
            r[i]=0
        else
            r[i]=1
        end
    end
    return  self:b2d(r)
end --bit:_not

function    bit:_rshift(a,n)
    local   op1=self:d2b(a)
    local   r=self:d2b(0)
    
    if n < 32 and n > 0 then
        for i=1,n do
            for i=31,1,-1 do
                op1[i+1]=op1[i]
            end
            op1[1]=0
        end
    r=op1
    end
    return  self:b2d(r)
end --bit:_rshift

function    bit:_lshift(a,n)
    local   op1=self:d2b(a)
    local   r=self:d2b(0)
    
    if n < 32 and n > 0 then
        for i=1,n   do
            for i=1,31 do
                op1[i]=op1[i+1]
            end
            op1[32]=0
        end
    r=op1
    end
    return  self:b2d(r)
end --bit:_lshift


function    bit:print(ta)
    local   sr=""
    for i=1,32 do
        sr=sr..ta[i]
    end
    print(sr)
end

bs=bit:d2b(7)
bit:print(bs)                          
-->00000000000000000000000000000111
bit:print(bit:d2b(bit:_not(7)))         
-->11111111111111111111111111111000
bit:print(bit:d2b(bit:_rshift(7,2)))    
-->00000000000000000000000000000001
bit:print(bit:d2b(bit:_lshift(7,2)))    
-->00000000000000000000000000011100
print(bit:b2d(bs))                      -->     7
print(bit:_xor(7,2))                    -->     5
print(bit:_and(7,4))                    -->     4
print(bit:_or(5,2))                     -->     7


--end of bit.lua
posted on 2005-11-11 03:08 陣雨 閱讀(15243) 評論(7)  編輯 收藏 引用 所屬分類: Lua Programming

FeedBack:
# re: Lua實現的 位運算 模塊
2005-11-11 03:25 | 陣雨
這個bit處理模塊比起由C庫提供的在效率上會打些折扣,但它是由
純Lua實現的哦 ^_^  回復  更多評論
  
# re: Lua實現的 位運算 模塊
2008-08-28 11:57 | 天堂的隔壁
如果這個數字大于7fffffff的話,d2b會出問題
也就是說負數的時候,  回復  更多評論
  
# re: Lua實現的 位運算 模塊[未登錄]
2009-05-20 23:29 | haha
bit:_rshift和bit:_lshift 在n=0時,處理不正確,應該增加下列語句:
if n == 0 then
return a
end  回復  更多評論
  
# re: Lua實現的 位運算 模塊
2009-10-26 10:45 | RexGene
效率太慢,用其他算數的方法取代位運算效率還比這個高  回復  更多評論
  
# re: Lua實現的 位運算 模塊
2013-11-27 02:40 | wapeter
您好陣雨,謝謝您的代碼!
我把你的代碼重構了一次, 修改了部分左右位移的速度問題
還有一些測試用例, 互相參考:

http://hi.baidu.com/wapeter/item/80da1a3f342c98b9633aff86


  回復  更多評論
  
# re: Lua實現的 位運算 模塊
2014-02-17 10:54 | 你好
lua的5.2以后版本提供了相關的功能~  回復  更多評論
  

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜日韩av| 午夜精品视频一区| 模特精品在线| 亚洲精品日韩久久| 亚洲精品综合久久中文字幕| 欧美精品久久久久久久久老牛影院 | 一区二区三区国产盗摄| 欧美午夜在线观看| 亚洲欧美日韩中文视频| 国产精品一区免费观看| 久久九九精品99国产精品| 久久久噜噜噜久久久| 亚洲日本激情| 亚洲天堂av电影| 激情小说另类小说亚洲欧美| 欧美高清在线| 欧美天堂亚洲电影院在线观看 | 久久激情五月激情| 久久一区视频| 一区二区精品国产| 欧美在线视频导航| 99国产精品视频免费观看| 亚洲无线视频| 在线欧美日韩| 亚洲特黄一级片| 亚洲黄色天堂| 亚洲欧美日韩另类| 亚洲精品综合久久中文字幕| 亚洲午夜91| 亚洲人在线视频| 欧美亚洲综合网| 一区二区免费在线观看| 久久精品91| 亚洲欧美高清| 欧美激情片在线观看| 久久精品91| 国产精品av免费在线观看| 免费成人黄色av| 国产精品羞羞答答xxdd| 亚洲黄色三级| 一区免费观看视频| 午夜久久资源| 亚洲欧美日韩精品综合在线观看| 久久最新视频| 久久伊人亚洲| 国产日韩高清一区二区三区在线| 亚洲欧洲一二三| 亚洲黄色在线| 久久久噜噜噜久久| 久久亚洲不卡| 国产色婷婷国产综合在线理论片a| 亚洲精品一区二区三| 亚洲高清免费| 久久综合久久综合这里只有精品| 久久精品男女| 国产精品无码专区在线观看| 日韩视频在线一区| 一区二区欧美亚洲| 欧美久久电影| 亚洲欧洲综合另类在线| 亚洲经典一区| 免费短视频成人日韩| 你懂的亚洲视频| 揄拍成人国产精品视频| 久久www成人_看片免费不卡| 欧美一区二区黄色| 国产伦精品一区二区三区四区免费 | 久久精品国产免费看久久精品| 国产精品久久久久久模特| av成人免费在线| 亚洲欧美一区二区三区久久| 欧美偷拍一区二区| 在线视频欧美精品| 欧美一级大片在线观看| 国产区亚洲区欧美区| 午夜精品理论片| 久热精品在线视频| 亚洲高清精品中出| 欧美激情成人在线视频| 9i看片成人免费高清| 亚洲一区二区三区色| 国产精自产拍久久久久久蜜| 午夜一级久久| 免费中文日韩| 亚洲视频综合| 国产日韩欧美不卡| 久久这里只有| 99re6这里只有精品视频在线观看| 亚洲一区不卡| 一区二区三区在线免费观看| 欧美chengren| 亚洲天堂黄色| 欧美 日韩 国产精品免费观看| 亚洲精品小视频在线观看| 欧美人与性禽动交情品| 亚洲影院在线观看| 麻豆精品精华液| 亚洲午夜激情免费视频| 国产亚洲在线| 欧美激情精品久久久久久黑人 | 久久一区二区三区av| 最新日韩在线| 国产日韩一区二区三区在线播放 | 亚洲欧美成人网| 亚洲区中文字幕| 欧美日韩亚洲一区二区三区四区 | 国产精品99久久久久久久久久久久| 亚洲在线视频| 亚洲国产综合在线看不卡| 欧美视频免费看| 久久亚洲不卡| 亚洲自拍偷拍麻豆| 亚洲激情偷拍| 久久影院亚洲| 亚洲综合电影一区二区三区| 精品69视频一区二区三区| 欧美视频在线观看免费| 久久久久免费视频| 亚洲欧美在线观看| 亚洲乱码国产乱码精品精可以看 | 巨乳诱惑日韩免费av| 亚洲素人在线| 亚洲精品影视在线观看| 美国成人直播| 久久精品首页| 欧美一区二区久久久| 一区二区三区.www| 亚洲精品国产精品国自产在线 | 欧美视频在线观看视频极品| 另类av导航| 久久婷婷激情| 久久久精品国产一区二区三区| 亚洲网站在线播放| 亚洲美女黄网| 亚洲精品视频一区二区三区| 欧美国产日韩xxxxx| 久久综合综合久久综合| 久久久久久一区二区| 午夜精品99久久免费| 亚洲图片激情小说| 亚洲少妇自拍| 一区二区高清在线观看| 日韩一区二区精品视频| 日韩午夜在线电影| 99精品久久| 一区二区免费在线播放| 一区二区欧美在线| 亚洲你懂的在线视频| 亚洲无线观看| 亚洲欧美日韩在线不卡| 亚洲一区在线直播| 亚洲欧美三级伦理| 久久精品国产99| 免费观看成人| 欧美国产欧美综合| 91久久香蕉国产日韩欧美9色| 亚洲国产美女| 夜夜嗨av一区二区三区中文字幕| 一区二区成人精品| 新片速递亚洲合集欧美合集| 欧美亚洲在线播放| 麻豆国产精品777777在线| 蜜桃av一区二区三区| 欧美欧美天天天天操| 欧美视频四区| 国内久久视频| 亚洲毛片一区| 欧美一级播放| 欧美二区视频| 99国产精品99久久久久久| 亚洲综合色噜噜狠狠| 久久全国免费视频| 欧美日韩国产不卡在线看| 国产精品久久毛片a| 韩国三级电影久久久久久| 亚洲经典一区| 翔田千里一区二区| 欧美电影打屁股sp| 在线亚洲伦理| 久久综合导航| 国产精品乱码妇女bbbb| 一区二区三区在线观看欧美| 日韩视频一区二区在线观看| 销魂美女一区二区三区视频在线| 久热精品视频在线观看一区| 亚洲欧洲美洲综合色网| 欧美一级精品大片| 欧美成人免费一级人片100| 国产精品腿扒开做爽爽爽挤奶网站| 伊人蜜桃色噜噜激情综合| 亚洲一区二三| 亚洲电影av| 欧美在线亚洲综合一区| 欧美日韩影院| 亚洲日韩成人| 欧美chengren| 欧美制服丝袜| 国产精品尤物| 亚洲视频网在线直播| 欧美国产视频日韩|