bitset 的下标计数问题
example:
#include<bitset> #include<iostream> using std::cout; using std::endl; using std::bitset; void main() { const int num = 5; bitset<32> bs = bitset<32>(num); cout << bs << endl; cout << bs[0] << "," << bs[1] << "," << bs[2] << endl; cout << bs[31] << "," << bs[30] << "," << bs[29] << endl; system("pause"); }
运行这个程序可以看到虽然bitset的pattern在屏幕上是从右边开始的,也就是5的bitset是0000...00101
但是在下标上,bs[0]=1, bs[1]=0, bs[2]=1, ...
而不是bs[31]=1, bs[30]=0, bs[29]=1