zoukankan      html  css  js  c++  java
  • redis深度历险03-位图

    redis深度历险03-位图bit

    redis位图数据结构,非零即一,每个只占一位,一个字节8位。位图其实就是普通的字符串,就是byte数组。可以通过getbit setbit等将byte数组看成位数组 来处理

    基本用法

    h字母的二进制是01101000

    e字母的二进制是01100101

    对于字母h而言,索引从0开始。需要把第 1 2 4为设置成1

    零存整取

    setbit s 1 1
    setbit s 2 1
    setbit s 4 1
    get s              ---   得到h字母
    

    零存零取

    setbit w 1 1
    getbit w 1
    

    整存零取

    set w h
    getbit w 1
    getbit w 5
    

    统计和查找

    1. bitcount 位图统计 --统计指定位置1的个数
    2. bitpos 位图查找 --统计范围内出现的第一个0或1
    bitcount s    --1的个数
    bitpos s 0    --第一个0的位数
    bitpos s 1    --第一个1的位数
    
  • 相关阅读:
    vector与iterator的一些用法
    动态规划 hdu 1024
    dfs bfs hdu 1045
    hdu 2795
    poj 2828
    线段树染色
    线段树比大小
    A
    ?线程局部变量
    JRE、JDK、JVM 及 JIT
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713767.html
Copyright © 2011-2022 走看看