#include "openeye.h" #include #include #include #include "oesystem.h" using namespace std; using namespace OESystem; string bitstring(const OEBitVector bv) { int i; string s(""); for (i=0;i" << hexstr << "->" << endl; bv2.FromHexString(hexstr); cout << bitstring(bv2) << endl; hex1="FFFF0000"; bv1.FromHexString(hex1); cout << "bv1 = " << hex1 << " = " << bitstring(bv1) << endl; cout << "bv1[0]=" << bv1[0]?1:0; cout << " bv1[1]=" << bv1[1]?1:0; cout << " bv1[15]=" << bv1[15]?1:0; cout << " bv1[16]=" << bv1[16]?1:0; cout << " bv1[31]=" << bv1[31]?1:0; cout << " bv1[32]=" << (bv1[32]?1:0) << endl; OEBitVector bv3; bv3 = ~bv1; bv3.ToHexString(hexstr); cout << "~bv1 = " << hexstr << " = " << bitstring(bv3) << endl; hex2="00FF0011"; bv2.FromHexString(hex2); cout << "bv2 = " << hex2 << " = " << bitstring(bv2) << endl; bv3 = bv1 & bv2; bv3.ToHexString(hexstr); cout << "bv1 & bv2 = " << hexstr << " = " << bitstring(bv3) << endl; bv3 = bv1 | bv2; bv3.ToHexString(hexstr); cout << "bv1 | bv2 = " << hexstr << " = " << bitstring(bv3) << endl; bv3 = OEBitVectorXor(bv1,bv2); bv3.ToHexString(hexstr); cout << "OEBitVectorXor(bv1,bv2) = " << hexstr << " = " << bitstring(bv3) << endl; bv3 = OEBitVectorSub(bv1,bv2); bv3.ToHexString(hexstr); cout << "OEBitVectorSub(bv1,bv2) = " << hexstr << " = " << bitstring(bv3) << endl; // one way to tell if bv1 is subset of bv2 bv1.FromHexString("00F00000"); cout << "bv1 = " << bitstring(bv1) << endl; bool ok = OEBitVectorSub(bv1,bv2).IsEmpty(); cout << "OEBitVectorSub(bv1,bv2).IsEmpty()=" << ok; cout << " (bv1 subset of bv2)" << endl; return 0; }