GO-ビットマップ

タイプビットマップ構造体{
    バイト[]バイト
    NBITS INT
}

FUNC(BMの*ビットマップ)を設定し(Kはint){
    K> bm.nbits {なら
        リターン
    }
    byteIndex:= K / 8 

8 //行くバイト1バイトまたは8ビットため
    bitIndex:= UINT(8%K)が
    bm.bytes [byteIndex] | = << 1 bitIndex。
}
FUNC(BM * BITMAP)GET(INT K) {BOOL
    IF K> bm.nbits {
        偽に戻り
    }
    byteIndex:K = / 8
    bitIndex:K = 8%。!
    戻りbm.bytes [byteIndex] << 1&UINT(bitIndexが)= 0
}

おすすめ

転載: blog.csdn.net/u013755520/article/details/92079434