#include <vector> #include<iostream> using namespace std; const unsigned char mask[] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 }; bool tcget(unsigned char * tc, int i) { bool b = (*(tc + i / 8) & mask[(i) % 8]) ? 1 : 0; return b; } void tcset(unsigned char * tc, int i, bool b) { //tc[(i) / 8] = (b) ? (mask[(i) % 8] | tc[(i) / 8]) : ((~mask[(i) % 8])&tc[(i) / 8]); unsigned char t = tc[i / 8]; if (b) *(tc + i / 8) = t | mask[i % 8]; else *(tc + i / 8) = t && (~mask[i % 8]); return; } void main() { int n = 100; vector<bool> * v = new vector<bool>(n); for (int i = 0; i < 100; i++) { if (i % 2 == 0)(*v)[i] = true; } for (int i = 0; i < 100; i++) { cout << (*v)[i]; } return; } //int n = 100; //unsigned char * tch = new unsigned char[n]; //for (int i = 0; i < 100;i++) { // tch[i] = 0; //} //for (int i = 0; i < 100 * 8;i++) { // if (i % 8 == 0)tcset(tch,i,true); //} //for (int i = 0; i < 100*8;i++) { // cout << tcget(tch,i) << " "; //} //delete[] tch;
浙公网安备 33010602011771号