我正在尝试std::bitset
,在得到错误的结果一段时间后,我注意到结果是相反的顺序。尝试在cppreference页面上搜索但无法找到任何来源,因此需要确认。这应该是不同编译器的默认行为吗?
#include <iostream>
#include <bitset>
using namespace std;
int main() {
bitset<7> bin('C');
cout << bin << endl;
for(int i = 0; i < 7; ++i){ cout << bin[i]; }
return 0;
}
1000011
1100001
答案 0 :(得分:2)
来自C ++标准:
在对象之间进行转换时 在类
bitset<N>
的类和一些整数类型的值中,比特位置pos对应于比特值1&lt;&lt;&lt; POS机。 对应于两位或更多位的积分值是它们的位值之和。