在C#中,沒有內置的BitSet類,但是你可以使用位操作符(如&、|、^等)來實現位掩碼操作
using System;
class Program
{
static void Main()
{
// 定義兩個整數值,用于演示位掩碼操作
int value1 = 5; // 二進制表示:0101
int value2 = 3; // 二進制表示:0011
// 按位與操作
int andResult = value1 & value2; // 結果為1,二進制表示:0001
Console.WriteLine("按位與操作結果: " + andResult);
// 按位或操作
int orResult = value1 | value2; // 結果為7,二進制表示:0111
Console.WriteLine("按位或操作結果: " + orResult);
// 按位異或操作
int xorResult = value1 ^ value2; // 結果為6,二進制表示:0110
Console.WriteLine("按位異或操作結果: " + xorResult);
// 按位非操作
int notResult = ~value1; // 結果為-6,二進制表示:11111111 11111111 11111111 11111010(這是補碼形式)
Console.WriteLine("按位非操作結果: " + notResult);
}
}
此外,你還可以使用System.Collections.BitArray類來表示一個位數組。這個類提供了一些方法來操作位數組,例如設置、清除和切換位。下面是一個簡單的示例:
using System;
using System.Collections;
class Program
{
static void Main()
{
// 創建一個包含8位的BitArray
BitArray bitArray = new BitArray(8);
// 設置第3位為1
bitArray.Set(2, true);
// 輸出BitArray的內容
Console.WriteLine("BitArray的內容: ");
foreach (bool bit in bitArray)
{
Console.Write(bit ? "1" : "0");
}
Console.WriteLine();
// 切換第3位
bitArray.Not(2);
// 輸出切換后的BitArray內容
Console.WriteLine("切換后的BitArray內容: ");
foreach (bool bit in bitArray)
{
Console.Write(bit ? "1" : "0");
}
Console.WriteLine();
}
}
這個示例將創建一個8位的BitArray,并設置第3位為1。然后,它會輸出BitArray的內容,接著切換第3位,并再次輸出BitArray的內容。