📜  C#中的BitArray.LeftShift()方法与示例

📅  最后修改于: 2021-05-29 13:53:42             🧑  作者: Mango

BitArray类管理一个位值数组,这些值表示为布尔值,其中true指示bit为1,false指示bit为0。此类包含在命名空间System.Collections中BitArray.LeftShift(Int32)方法用于将位数组的位向左移动一个位置,并在已移动的位置加上零。执行操作Left shift时将修改原始BitArray对象。

示例1:假设我们有位数组10011,我们想将其向左移动两个位置。

最终结果是00110。

// C# program to illustrate the
// BitArray.LeftShift() Method
using System;
using System.Collections;
  
class GeeksforGeeks {
  
    // Main Method
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray BitArr = new BitArray(5);
  
        // Initializing values in BitArr
        BitArr[0] = true;
        BitArr[1] = true;
        BitArr[2] = false;
        BitArr[3] = false;
        BitArr[4] = true;
  
        // function calling
        Display(BitArr.LeftShift(2));
    }
  
    // Displaying the result
    public static void Display(IEnumerable myList)
    {
        foreach(Object obj in myList)
        {
            Console.WriteLine(obj);
        }
    }
}
输出:
False
False
True
True
False

示例2:假设我们有位数组100011,我们想将其向左移动三个位置。

最终结果是000100。

// C# program to illustrate the
// BitArray.LeftShift() Method
using System;
using System.Collections;
  
class GeeksforGeeks {
  
    // Main Method
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray BitArr = new BitArray(6);
  
        // Initializing values in BitArr
        BitArr[0] = true;
        BitArr[1] = false;
        BitArr[2] = false;
        BitArr[3] = false;
        BitArr[4] = true;
        BitArr[5] = true;
  
        // function calling
        Display(BitArr.LeftShift(3));
    }
  
    // Displaying the result
    public static void Display(IEnumerable myList)
    {
        foreach(Object obj in myList)
        {
            Console.WriteLine(obj);
        }
    }
}
输出:
False
False
False
True
False
False

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.bitarray.leftshift?view=netcore-2.2