Visual C++ .NET/Collections/BitArray — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 15:05, 26 мая 2010
Содержание
And operation for two BitArray
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
BitArray ^barray1 = gcnew BitArray( 8, true ); Print(barray1, "BitArray( 8, true );"); BitArray ^barray2 = gcnew BitArray( 8, true ); barray2->And(barray1); Print(barray2, "And with BitArray( 8, true )");
}
</source>
Creating BitArray
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
BitArray ^barray1 = gcnew BitArray( 8, true ); Print(barray1, "BitArray( 8, true );");
}
</source>
Creating BitArray from array
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
array<unsigned char>^ chars = gcnew array<unsigned char> { 0x55, 0xAA }; BitArray ^barray3 = gcnew BitArray( chars ); Print(barray3, "BitArray(0x55, 0xAA);"); Console::WriteLine("Item[0]={0}", barray3[0]); Console::WriteLine("Item[8]={0}", barray3[8]);
}
</source>
Not on value in BitArray
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
BitArray ^barray1 = gcnew BitArray( 8, true ); Print(barray1, "BitArray( 8, true );"); barray1[1] = false; barray1->Not(); Print(barray1, "Modified bit 1&4 then Not");
}
</source>
Or operation between two BitArray
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
BitArray ^barray1 = gcnew BitArray( 8, true ); Print(barray1, "BitArray( 8, true );"); BitArray ^barray2 = gcnew BitArray( 8, true ); barray2->And(barray1); Print(barray2, "And with BitArray( 8, true )"); barray2->SetAll(true); barray2->Or(barray1); Print(barray2, "Or with BitArray( 8, true )");
}
</source>
Set all value in BitArray to true
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
BitArray ^barray1 = gcnew BitArray( 8, true ); Print(barray1, "BitArray( 8, true );"); BitArray ^barray2 = gcnew BitArray( 8, true ); barray2->And(barray1); Print(barray2, "And with BitArray( 8, true )"); barray2->SetAll(true); barray2->Or(barray1); Print(barray2, "Or with BitArray( 8, true )");
}
</source>
Set value in BitArray by indexer
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
BitArray ^barray1 = gcnew BitArray( 8, true ); Print(barray1, "BitArray( 8, true );"); barray1[1] = false; barray1->Not(); Print(barray1, "Modified bit 1&4 then Not");
}
</source>
Xor operation between two BitArray
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Collections; void Print( BitArray ^barray, String ^desc) {
Console::WriteLine(desc); int i = 0; for each( bool^ val in barray ) { Console::Write("{0} ", val); if (++i > 7) { Console::WriteLine(); i = 0; } } Console::WriteLine();
} void main() {
BitArray ^barray1 = gcnew BitArray( 8, true ); Print(barray1, "BitArray( 8, true );"); BitArray ^barray2 = gcnew BitArray( 8, true ); barray2->And(barray1); Print(barray2, "And with BitArray( 8, true )"); barray2->SetAll(true); barray2->Xor(barray1); Print(barray2, "XOr with BitArray( 8, true )");
}
</source>