1

ビット文字列のデクリメント演算子が必要です。私は現在、次のように定義されたインクリメント演算子を持っています:

void increment(boost::dynamic_bitset<> &bitset)
{   
    for (int loop = 0; loop < bitset.size(); ++loop)
    {
        if ((bitset[loop] ^= 0x1) == 0x1)
        {
            break;
        }
    }
}

ビット文字列でどのようにデクリメントしますか?

4

1 に答える 1

2

これでうまくいくようです。

void decrement(boost::dynamic_bitset<> &bitset) 
{    
    for (int loop = 0; loop < bitset.size(); ++loop) 
    { 
        if ((bitset[loop] ^= 0x1) == 0x0) 
        { 
            break; 
        } 
    } 
} 
于 2012-02-15T23:28:21.987 に答える