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

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 陣雨 閱讀(15229) 評論(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以后版本提供了相關的功能~  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一本久道久久综合婷婷鲸鱼| 欧美另类在线观看| 国产精品你懂得| 这里是久久伊人| 一区二区欧美国产| 国产精品美女一区二区在线观看| 亚洲欧美一区二区三区极速播放| 亚洲一区二区黄| 亚洲国产精品福利| 久久米奇亚洲| 日韩一级不卡| 免费亚洲视频| 麻豆成人在线观看| 欧美日产一区二区三区在线观看 | 久久综合久久综合这里只有精品| 一色屋精品视频在线看| 亚洲夫妻自拍| 国产精品激情电影| 久久欧美肥婆一二区| 免费一级欧美在线大片| 在线亚洲一区观看| 亚欧成人精品| 一区二区日韩伦理片| 亚洲欧美精品| 亚洲精品美女久久7777777| 亚洲国产成人av好男人在线观看| 国外成人免费视频| 亚洲一区二区精品| 欧美呦呦网站| 亚洲网在线观看| 久久久久久久91| 亚洲一区二区三区精品在线观看| 久久精品亚洲乱码伦伦中文 | 另类激情亚洲| 欧美日韩精品在线播放| 久久在线观看视频| 欧美性猛交xxxx免费看久久久| 久久久人成影片一区二区三区| 欧美日韩国产综合新一区| 久久嫩草精品久久久精品一| 欧美色欧美亚洲另类七区| 欧美jjzz| 好吊色欧美一区二区三区视频| 亚洲日本中文字幕免费在线不卡| 韩国av一区二区三区四区| 在线一区二区日韩| 日韩一区二区电影网| 久久久爽爽爽美女图片| 欧美在线一二三四区| 欧美日韩一区二区三区在线| 欧美电影免费观看| 国产一区二区在线免费观看 | 亚洲伦理网站| 亚洲精品乱码久久久久久黑人| 久久国产99| 欧美在线免费一级片| 国产精品久久久久久久午夜片| 亚洲激情欧美| 亚洲欧洲日本专区| 噜噜噜久久亚洲精品国产品小说| 久久精品国产一区二区三区免费看 | 久久精品国产亚洲aⅴ| 国产伦精品一区二区三区视频黑人| 亚洲人成在线免费观看| 亚洲黄色免费电影| 亚洲国产精品福利| 欧美va亚洲va香蕉在线| 欧美一区二区三区四区高清| 欧美视频在线免费看| 亚洲免费电影在线观看| 99国内精品久久| 欧美激情中文字幕乱码免费| 亚洲激情成人在线| 夜夜爽av福利精品导航| 欧美日韩一区二区国产| 一本一道久久综合狠狠老精东影业 | 欧美精品色一区二区三区| 美国成人直播| 亚洲一区二三| 久久午夜av| 久久亚裔精品欧美| 另类尿喷潮videofree| 在线播放精品| 欧美福利视频| 亚洲精选在线| 午夜在线一区| 尤物九九久久国产精品的分类| 久久午夜视频| 亚洲精品久久久久久久久| 亚洲一级在线观看| 国产九色精品成人porny| 久久国产加勒比精品无码| 欧美成在线观看| 亚洲香蕉伊综合在人在线视看| 国产精品嫩草99a| 久久噜噜噜精品国产亚洲综合| 亚洲国产高清aⅴ视频| 亚洲一区二区在| 午夜在线精品偷拍| 女生裸体视频一区二区三区| 欧美高清视频一区| 夜久久久久久| 国产精品美女黄网| 久久久久久高潮国产精品视| 亚洲三级观看| 久久国产综合精品| 日韩午夜电影av| 国产综合久久| 国产精品激情偷乱一区二区∴| 久久亚洲精品欧美| 亚洲午夜性刺激影院| 免费观看亚洲视频大全| 亚洲欧美国产视频| 亚洲黄色性网站| 国产自产精品| 国产精品乱码一区二区三区| 久久在线免费| 欧美一区=区| 99精品视频免费全部在线| 美女任你摸久久| 欧美一区二区三区免费观看视频| 亚洲图片欧美日产| 欧美一区二区三区免费看| 国产日韩精品电影| 美女91精品| 国产精品久久久久一区二区| 亚洲免费在线播放| 亚洲电影在线| 欧美国产激情二区三区| 久久成人精品视频| 亚洲影院在线观看| 亚洲午夜激情网页| 99re66热这里只有精品4| 精品69视频一区二区三区| 国产精品一区在线观看| 欧美日在线观看| 欧美日韩国产精品一区二区亚洲| 久久影视精品| 久久综合九色欧美综合狠狠| 久久av老司机精品网站导航| 亚洲欧美一区在线| 亚洲视频一二| 亚洲影院污污.| 亚洲一区二区三区三| 在线亚洲伦理| 国产女人水真多18毛片18精品视频| 亚洲电影一级黄| 亚洲人成小说网站色在线| 香蕉乱码成人久久天堂爱免费| 亚洲一区不卡| 亚洲一区区二区| 亚洲性视频h| 午夜国产欧美理论在线播放| 亚洲一区国产精品| 亚洲欧美在线免费观看| 亚洲专区一区二区三区| 亚洲综合精品一区二区| 午夜精品久久久久久久男人的天堂 | 两个人的视频www国产精品| 久久伊伊香蕉| 欧美高清视频一区二区三区在线观看| 蜜臀91精品一区二区三区| 欧美高清在线| 亚洲免费福利视频| 亚洲视频1区| 欧美一区二区三区免费看| 久久久久久欧美| 欧美成人影音| 国产精品扒开腿做爽爽爽软件| 国产精品久久二区| 国产一区二区三区四区老人| 亚洲第一天堂无码专区| 一本色道**综合亚洲精品蜜桃冫 | 久热爱精品视频线路一| 欧美高清视频一区| 亚洲深夜福利网站| 久久av一区二区三区漫画| 美女视频黄a大片欧美| 欧美日韩免费区域视频在线观看| 国产精品系列在线| 在线日韩欧美| 亚洲女人天堂av| 欧美91大片| 亚洲少妇一区| 免费在线看一区| 国产欧美一区二区三区在线看蜜臀 | 欧美成人乱码一区二区三区| 国产精品揄拍500视频| 最新国产精品拍自在线播放| 亚洲欧美国产日韩中文字幕| 亚洲免费在线看| 性伦欧美刺激片在线观看| 久久国产精品99国产| 欧美精品亚洲| 黄色一区二区三区| 中文亚洲视频在线| 蜜桃av一区二区三区| 亚洲一区精品电影| 欧美不卡视频一区| 国产有码在线一区二区视频|