溫馨提示×

如何使用C#的BitSet進行位運算

c#
小樊
132
2024-09-16 09:56:09
欄目: 編程語言

在C#中,沒有內置的BitSet類,但是你可以使用BitArray類來執行位運算

  1. 導入System.Collections命名空間。
  2. 創建一個BitArray實例。
  3. 使用BitArray的方法和屬性執行位運算。

下面是一個簡單的示例,展示了如何使用BitArray進行位運算:

using System;
using System.Collections;

class BitSetExample
{
    static void Main()
    {
        // 創建兩個BitArray實例
        BitArray bitArray1 = new BitArray(new byte[] { 0b11001100 });
        BitArray bitArray2 = new BitArray(new byte[] { 0b10101010 });

        // 打印原始BitArray
        Console.WriteLine("BitArray1: " + ToBinaryString(bitArray1));
        Console.WriteLine("BitArray2: " + ToBinaryString(bitArray2));

        // 執行按位與運算
        bitArray1.And(bitArray2);
        Console.WriteLine("BitArray1 AND BitArray2: " + ToBinaryString(bitArray1));

        // 執行按位或運算
        bitArray1.Or(bitArray2);
        Console.WriteLine("BitArray1 OR BitArray2: " + ToBinaryString(bitArray1));

        // 執行按位異或運算
        bitArray1.Xor(bitArray2);
        Console.WriteLine("BitArray1 XOR BitArray2: " + ToBinaryString(bitArray1));

        // 執行按位非運算
        bitArray1.Not();
        Console.WriteLine("NOT BitArray1: " + ToBinaryString(bitArray1));
    }

    // 將BitArray轉換為二進制字符串
    static string ToBinaryString(BitArray bitArray)
    {
        StringBuilder sb = new StringBuilder();
        foreach (bool bit in bitArray)
        {
            sb.Append(bit ? '1' : '0');
        }
        return sb.ToString();
    }
}

這個示例首先創建了兩個BitArray實例,然后執行了按位與、按位或、按位異或和按位非運算。最后,使用ToBinaryString方法將BitArray轉換為二進制字符串,以便于查看結果。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女