redis bitmap 坑 字节内部逆序

2019-04-24  本文已影响0人  不要重不要重

记一笔redis bitmap 的坑
获取redis的bitmap 为1 的id

import (
        "fmt"
        //"github.com/imroc/biu"
        "time"
)

func BitToId(str []byte) []int {
        //求出num 存在1 的数量假设 1
        bits := make([]int, 0)
        len := len(str)
        fmt.Println(len)
        for i, b := range str {
                for j := 0; j < 8; j++ {
                        if b&(1<<uint(7-j)) != 0 {
                                bits = append(bits, (len-i-1)*8+j)
                        }
                }
        }
        return bits
}
func main() {
        start := time.Now().UnixNano()
        fmt.Printf("开始 时间戳(纳秒):%v;\n", start)
        var str []byte = []byte("abc")
        _ = BitToId(str)
        fmt.Printf("结束 时间戳(纳秒):%v;\n", time.Now().UnixNano()-start)
}
上一篇下一篇

猜你喜欢

热点阅读