📅  最后修改于: 2023-12-03 15:00:16.529000             🧑  作者: Mango
在 C# 中,BitArray.RightShift() 方法用于将 BitArray 左侧的指定位数移除,并在右侧添加指定数量的零,即向右移位。
public void RightShift (int shiftCount);
其中,shiftCount 表示需要右移的位数。
using System;
using System.Collections;
class Example
{
static void Main()
{
int bitCount = 8;
BitArray bitArray = new BitArray(bitCount);
bitArray[0] = true;
bitArray[1] = true;
bitArray[2] = true;
bitArray[3] = false;
bitArray[4] = false;
bitArray[5] = false;
bitArray[6] = false;
bitArray[7] = false;
Console.WriteLine("原 BitArray:");
DisplayBits(bitArray);
bitArray.RightShift(2);
Console.WriteLine("右移 2 位后的 BitArray:");
DisplayBits(bitArray);
}
// 辅助函数:打印 BitArray 的元素值
public static void DisplayBits(BitArray bits)
{
foreach (bool bit in bits)
{
Console.Write(bit ? 1 : 0);
}
Console.WriteLine();
}
}
运行示例代码后,输出结果如下:
原 BitArray:
11100000
右移 2 位后的 BitArray:
00111000
可以看到,BitArray 右移 2 位后,左侧的三个 1 被移除,同时在右侧添加了两个 0。