东郭写的左移位操作

function  bit._lshift(a,n)
    local op1 = bit._d2b(a) 
    local r = bit._d2b(0) 
    if n < 32 and n > 0 then 
    for i = n,31 do 
        r[i-n+1] = op1[i+1] 
        end 
    end 
    local ret = 0 
    if r[1]==1 then
        op1 = bit._not(r)
        ret = bit._b2d(op1) + 2
        ret = 0 - ret;
    else
        ret = bit._b2d(r) 
    end

    return ret 
end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容