Bagikan melalui


BitVector32.CreateMask Metode

Definisi

Membuat serangkaian masker yang dapat digunakan untuk mengambil bit individual dalam BitVector32 yang disiapkan sebagai bendera bit.

Overload

CreateMask()

Membuat masker pertama dalam serangkaian masker yang dapat digunakan untuk mengambil bit individual dalam BitVector32 yang disiapkan sebagai bendera bit.

CreateMask(Int32)

Membuat masker tambahan setelah masker yang ditentukan dalam serangkaian masker yang dapat digunakan untuk mengambil bit individual dalam BitVector32 yang disiapkan sebagai bendera bit.

Contoh

Contoh kode berikut menunjukkan cara membuat dan menggunakan masker.

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

Sumber:
BitVector32.cs
Sumber:
BitVector32.cs
Sumber:
BitVector32.cs

Membuat masker pertama dalam serangkaian masker yang dapat digunakan untuk mengambil bit individual dalam BitVector32 yang disiapkan sebagai bendera bit.

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

Mengembalikan

Masker yang mengisolasi bendera bit pertama di BitVector32.

Keterangan

Gunakan CreateMask() untuk membuat masker pertama dalam seri dan CreateMask(int) untuk semua masker berikutnya.

Beberapa masker dapat dibuat untuk merujuk ke bendera bit yang sama.

Masker yang dihasilkan hanya mengisolasi satu bendera bit di BitVector32. Anda dapat menggabungkan masker menggunakan operasi BITWISE OR untuk membuat masker yang mengisolasi beberapa bendera bit di BitVector32.

Menggunakan masker pada yang BitVector32 disiapkan sebagai bagian dapat menyebabkan hasil yang tidak terduga.

Metode ini adalah operasi O(1).

Berlaku untuk

CreateMask(Int32)

Sumber:
BitVector32.cs
Sumber:
BitVector32.cs
Sumber:
BitVector32.cs

Membuat masker tambahan setelah masker yang ditentukan dalam serangkaian masker yang dapat digunakan untuk mengambil bit individual dalam BitVector32 yang disiapkan sebagai bendera bit.

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

Parameter

previous
Int32

Masker yang menunjukkan bendera bit sebelumnya.

Mengembalikan

Masker yang mengisolasi bendera bit setelah yang previous menunjuk ke dalam BitVector32.

Pengecualian

previous menunjukkan bendera bit terakhir di BitVector32.

Keterangan

Gunakan CreateMask() untuk membuat masker pertama dalam seri dan CreateMask(int) untuk semua masker berikutnya.

Beberapa masker dapat dibuat untuk merujuk ke bendera bit yang sama.

Masker yang dihasilkan hanya mengisolasi satu bendera bit di BitVector32. Anda dapat menggabungkan masker menggunakan operasi BITWISE OR untuk membuat masker yang mengisolasi beberapa bendera bit di BitVector32.

Menggunakan masker pada yang BitVector32 disiapkan sebagai bagian dapat menyebabkan hasil yang tidak terduga.

Metode ini adalah operasi O(1).

Berlaku untuk