Aracılığıyla paylaş


BitVector32.CreateMask Yöntem

Tanım

Bit bayrakları olarak ayarlanmış bir içindeki tek tek bitleri almak için kullanılabilecek bir BitVector32 dizi maske oluşturur.

Aşırı Yüklemeler

CreateMask()

Bit bayrakları olarak ayarlanmış bir içindeki tek tek bitleri almak için kullanılabilecek bir BitVector32 dizi maskede ilk maskeyi oluşturur.

CreateMask(Int32)

Bit bayrakları olarak ayarlanmış bir içindeki tek tek bitleri almak için kullanılabilecek bir dizi maskede belirtilen maskeden sonra ek bir BitVector32 maske oluşturur.

Örnekler

Aşağıdaki kod örneğinde maske oluşturma ve kullanma işlemleri gösterilmektedir.

#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()

Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs

Bit bayrakları olarak ayarlanmış bir içindeki tek tek bitleri almak için kullanılabilecek bir BitVector32 dizi maskede ilk maskeyi oluşturur.

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

Döndürülenler

içindeki BitVector32ilk bit bayrağını yalıtan bir maske.

Açıklamalar

Serideki ilk maskeyi ve CreateMask(int) sonraki tüm maskeleri oluşturmak için kullanınCreateMask().

Aynı bit bayrağına başvurmak için birden çok maske oluşturulabilir.

Sonuçta elde edilen maske içinde yalnızca bir bit bayrağını yalıtıyor BitVector32. içinde birden çok bit bayrağını yalıtan bir maske oluşturmak için bit düzeyinde OR işlemini kullanarak maskeleri BitVector32birleştirebilirsiniz.

Bölüm olarak ayarlanmış bir BitVector32 maske kullanmak beklenmeyen sonuçlara neden olabilir.

Bu yöntem bir O(1) işlemidir.

Şunlara uygulanır

CreateMask(Int32)

Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs
Kaynak:
BitVector32.cs

Bit bayrakları olarak ayarlanmış bir içindeki tek tek bitleri almak için kullanılabilecek bir dizi maskede belirtilen maskeden sonra ek bir BitVector32 maske oluşturur.

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

Parametreler

previous
Int32

Önceki bit bayrağını gösteren maske.

Döndürülenler

bit bayrağını içinde işaret BitVector32edenden sonra yalıtan previous bir maske.

Özel durumlar

previous içindeki son bit bayrağını BitVector32gösterir.

Açıklamalar

Serideki ilk maskeyi ve CreateMask(int) sonraki tüm maskeleri oluşturmak için kullanınCreateMask().

Aynı bit bayrağına başvurmak için birden çok maske oluşturulabilir.

Sonuçta elde edilen maske içinde yalnızca bir bit bayrağını yalıtıyor BitVector32. içinde birden çok bit bayrağını yalıtan bir maske oluşturmak için bit düzeyinde OR işlemini kullanarak maskeleri BitVector32birleştirebilirsiniz.

Bölüm olarak ayarlanmış bir BitVector32 maske kullanmak beklenmeyen sonuçlara neden olabilir.

Bu yöntem bir O(1) işlemidir.

Şunlara uygulanır