BitArray это класс хранящий массив битовых значений.
BitArray относится к
необобщенной коллекции... то есть элементы могут быть разного типа.
C#
Создаем новое C# консольное приложение и напишем код:
using System;
using System.Collections; // подключаем BitArray
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Создаем BitArray с элементами
BitArray bits = new BitArray(new bool[] { true, false, false, true });
// в bits элементы: true, false, false, true
// установим значение по индексу 1
bits.Set(1, true);
// в bits элементы: true, true, false, true
// получим значение по индексу 1
object value = bits.Get(1);
// value = false
// установим все значения true
bits.SetAll(false);
// в bits элементы: false, false, false, false
// побитовая операция AND
BitArray bits1 = new BitArray(new bool[] { true, false, false, true });
BitArray bits2 = new BitArray(new bool[] { false, true, false, true });
BitArray arrResult = bits1.And(bits2);
// в bits1 элементы: true, false, false, true
// в bits2 элементы: false, true, false, true
// AND ↓ ↓ ↓ ↓
// в arrResult элементы: false, false, false, true
// После выполнения bits1 поменяется т.е. bits1 = false, false, false, true
// побитовая операция OR
bits1 = new BitArray(new bool[] { true, false, false, true });
bits2 = new BitArray(new bool[] { false, true, false, true });
arrResult = bits1.Or(bits2);
// в bits1 элементы: true, false, false, true
// в bits2 элементы: false, true, false, true
// OR ↓ ↓ ↓ ↓
// в arrResult элементы: true, true, false, true
// После выполнения bits1 поменяется т.е. bits1 = true, true, false, true
// побитовая операция XOR
bits1 = new BitArray(new bool[] { true, false, false, true });
bits2 = new BitArray(new bool[] { false, true, false, true });
arrResult = bits1.Xor(bits2);
// в bits1 элементы: true, false, false, true
// в bits2 элементы: false, true, false, true
// XOR ↓ ↓ ↓ ↓
// в arrResult элементы: true, true, false, false
// После выполнения bits1 поменяется т.е. bits1 = true, true, false, false
// побитовая операция NOT
bits1 = new BitArray(new bool[] { true, false, false, true });
arrResult = bits1.Not();
// в bits1 элементы: true, false, false, true
// NOT ↓ ↓ ↓ ↓
// в arrResult элементы: false, true, true, false
// После выполнения bits1 поменяется т.е. bits1 = false, true, true, false
// Перебираем все элементы с помощью foreach и выводим на экран
foreach (bool item in bits1)
Console.WriteLine(item);
}
}
}