bitMap应用于Buffer,判断用户是否浏览过某个内容

//bitmap 判断是否存在
Buffer.prototype.hasBit=function(num){
    const n=num>>3;
    const k=num%8;
    return (this[n]&1<<k)!==0
}
Buffer.prototype.setBit=function(num){
    const n=num>>3;
    const k=num%8;
    this[n]=this[n]|(1<<k);
}
Buffer.prototype.delBit=function(num){
    const n=num>>3;
    const k=num%8;
    this[n]=this[n]&~(1<<k);
}

const buf=require('fs').readFileSync('a.bit');

console.log(buf.setBit(2))
console.log(buf.hasBit(1))
console.log(buf.hasBit(2))
console.log(buf.hasBit(92))
console.log(buf.hasBit(99))

 

posted @ 2020-03-18 14:06  无工时代  阅读(187)  评论(0编辑  收藏  举报