Поделиться через


BitVector32.CreateMask Метод

Определение

Создает набор масок, который можно использовать для получения отдельных разрядов в структуре BitVector32, которая построена в виде одноразрядных флагов.

Перегрузки

CreateMask()

Создает первую маску в наборе масок, которую можно использовать для получения отдельных разрядов в структуре BitVector32, которая построена в виде одноразрядных флагов.

CreateMask(Int32)

Создает дополнительную маску, следующую за указанной маской в наборе масок, которую можно использовать для получения отдельных разрядов в структуре BitVector32, построенной в виде одноразрядных флагов.

Примеры

В следующем примере кода показано, как создавать и использовать маски.

#using <system.dll>

using namespace System;
using namespace System::Collections::Specialized;
int main()
{
   // Creates and initializes a BitVector32 with all bit flags set to FALSE.
   BitVector32 myBV;

   // Creates masks to isolate each of the first five bit flags.
   int myBit1 = BitVector32::CreateMask();
   int myBit2 = BitVector32::CreateMask( myBit1 );
   int myBit3 = BitVector32::CreateMask( myBit2 );
   int myBit4 = BitVector32::CreateMask( myBit3 );
   int myBit5 = BitVector32::CreateMask( myBit4 );
   Console::WriteLine( "Initial:               \t {0}", myBV );

   // Sets the third bit to TRUE.
   myBV[ myBit3 ] = true;
   Console::WriteLine( "myBit3 = TRUE          \t {0}", myBV );

   // Combines two masks to access multiple bits at a time.
   myBV[ myBit4 + myBit5 ] = true;
   Console::WriteLine( "myBit4 + myBit5 = TRUE \t {0}", myBV );
   myBV[ myBit1 | myBit2 ] = true;
   Console::WriteLine( "myBit1 | myBit2 = TRUE \t {0}", myBV );
}

/*
This code produces the following output.

Initial:                BitVector32 {00000000000000000000000000000000}
myBit3 = TRUE           BitVector32 {00000000000000000000000000000100}
myBit4 + myBit5 = TRUE  BitVector32 {00000000000000000000000000011100}
myBit1 | myBit2 = TRUE  BitVector32 {00000000000000000000000000011111}

*/
using System;
using System.Collections.Specialized;

public class SamplesBitVector32  {

   public static void Main()  {

      // Creates and initializes a BitVector32 with all bit flags set to FALSE.
      BitVector32 myBV = new BitVector32( 0 );

      // Creates masks to isolate each of the first five bit flags.
      int myBit1 = BitVector32.CreateMask();
      int myBit2 = BitVector32.CreateMask( myBit1 );
      int myBit3 = BitVector32.CreateMask( myBit2 );
      int myBit4 = BitVector32.CreateMask( myBit3 );
      int myBit5 = BitVector32.CreateMask( myBit4 );
      Console.WriteLine( "Initial:               \t{0}", myBV.ToString() );

      // Sets the third bit to TRUE.
      myBV[myBit3] = true;
      Console.WriteLine( "myBit3 = TRUE          \t{0}", myBV.ToString() );

      // Combines two masks to access multiple bits at a time.
      myBV[myBit4 + myBit5] = true;
      Console.WriteLine( "myBit4 + myBit5 = TRUE \t{0}", myBV.ToString() );
      myBV[myBit1 | myBit2] = true;
      Console.WriteLine( "myBit1 | myBit2 = TRUE \t{0}", myBV.ToString() );
   }
}

/*
This code produces the following output.

Initial:                BitVector32{00000000000000000000000000000000}
myBit3 = TRUE           BitVector32{00000000000000000000000000000100}
myBit4 + myBit5 = TRUE  BitVector32{00000000000000000000000000011100}
myBit1 | myBit2 = TRUE  BitVector32{00000000000000000000000000011111}

*/
Imports System.Collections.Specialized


Public Class SamplesBitVector32

   Public Shared Sub Main()

      ' Creates and initializes a BitVector32 with all bit flags set to FALSE.
      Dim myBV As New BitVector32(0)
      
      ' Creates masks to isolate each of the first five bit flags.
      Dim myBit1 As Integer = BitVector32.CreateMask()
      Dim myBit2 As Integer = BitVector32.CreateMask(myBit1)
      Dim myBit3 As Integer = BitVector32.CreateMask(myBit2)
      Dim myBit4 As Integer = BitVector32.CreateMask(myBit3)
      Dim myBit5 As Integer = BitVector32.CreateMask(myBit4)
      Console.WriteLine("Initial:               " + ControlChars.Tab + "{0}", myBV.ToString())
      
      ' Sets the third bit to TRUE.
      myBV(myBit3) = True
      Console.WriteLine("myBit3 = TRUE          " + ControlChars.Tab + "{0}", myBV.ToString())
      
      ' Combines two masks to access multiple bits at a time.
      myBV((myBit4 + myBit5)) = True
      Console.WriteLine("myBit4 + myBit5 = TRUE " + ControlChars.Tab + "{0}", myBV.ToString())
      myBV((myBit1 Or myBit2)) = True
      Console.WriteLine("myBit1 | myBit2 = TRUE " + ControlChars.Tab + "{0}", myBV.ToString())

   End Sub

End Class


' This code produces the following output.
'
' Initial:                BitVector32{00000000000000000000000000000000}
' myBit3 = TRUE           BitVector32{00000000000000000000000000000100}
' myBit4 + myBit5 = TRUE  BitVector32{00000000000000000000000000011100}
' myBit1 | myBit2 = TRUE  BitVector32{00000000000000000000000000011111}

CreateMask()

Исходный код:
BitVector32.cs
Исходный код:
BitVector32.cs
Исходный код:
BitVector32.cs

Создает первую маску в наборе масок, которую можно использовать для получения отдельных разрядов в структуре BitVector32, которая построена в виде одноразрядных флагов.

public:
 static int CreateMask();
public static int CreateMask ();
static member CreateMask : unit -> int
Public Shared Function CreateMask () As Integer

Возвращаемое значение

Маска, которая изолирует первый одноразрядный флаг в структуре BitVector32.

Комментарии

Используйте для CreateMask() создания первой маски в ряду и CreateMask(int) для всех последующих масок.

Можно создать несколько масок для ссылки на один и тот же битовый флаг.

Результирующая маска изолирует только один битовый флаг в BitVector32. Маски можно объединить с помощью побитовой операции OR, чтобы создать маску, которая изолирует несколько битовых флагов в BitVector32.

Использование маски для , настроенной BitVector32 в качестве разделов, может привести к непредвиденным результатам.

Этот метод является операцией O(1).

Применяется к

CreateMask(Int32)

Исходный код:
BitVector32.cs
Исходный код:
BitVector32.cs
Исходный код:
BitVector32.cs

Создает дополнительную маску, следующую за указанной маской в наборе масок, которую можно использовать для получения отдельных разрядов в структуре BitVector32, построенной в виде одноразрядных флагов.

public:
 static int CreateMask(int previous);
public static int CreateMask (int previous);
static member CreateMask : int -> int
Public Shared Function CreateMask (previous As Integer) As Integer

Параметры

previous
Int32

Маска, которая указывает на предыдущий одноразрядный флаг.

Возвращаемое значение

Маска, которая изолирует одноразрядный флаг, следующий за тем, на который указывает параметр previous в структуре BitVector32.

Исключения

Параметр previous указывает на последний одноразрядный флаг в структуре BitVector32.

Комментарии

Используйте для CreateMask() создания первой маски в ряду и CreateMask(int) для всех последующих масок.

Можно создать несколько масок для ссылки на один и тот же битовый флаг.

Результирующая маска изолирует только один битовый флаг в BitVector32. Маски можно объединить с помощью побитовой операции OR, чтобы создать маску, которая изолирует несколько битовых флагов в BitVector32.

Использование маски для , настроенной BitVector32 в качестве разделов, может привести к непредвиденным результатам.

Этот метод является операцией O(1).

Применяется к