C# BitSet如何進(jìn)行位翻轉(zhuǎn)操作

c#
小樊
88
2024-09-16 09:59:53

在C#中,沒(méi)有內(nèi)置的BitSet類(lèi)似于Java中的BitSet

using System;

class Program
{
    static void Main()
    {
        int number = 5; // 二進(jìn)制表示為 0101
        int bitIndex = 2;

        // 位翻轉(zhuǎn)操作
        number ^= (1<< bitIndex);

        Console.WriteLine("After flipping the bit at index {0}: {1}", bitIndex, Convert.ToString(number, 2));
    }
}

在這個(gè)例子中,我們首先定義了一個(gè)整數(shù)number,它的二進(jìn)制表示為0101。然后我們選擇要翻轉(zhuǎn)的位的索引bitIndex,這里我們選擇索引為2的位。接下來(lái),我們使用異或操作符^和左移操作符<<來(lái)實(shí)現(xiàn)位翻轉(zhuǎn)。最后,我們將結(jié)果打印出來(lái)。

運(yùn)行這個(gè)程序,你會(huì)看到輸出結(jié)果為:

After flipping the bit at index 2: 7

這意味著原始數(shù)字的二進(jìn)制表示從0101變?yōu)榱?code>0111,即十進(jìn)制的7。

0