/* 2009-3-8日 3.24 考虑这样的序列1,2,3,5,8,13,21,并初始化一个将该序列数字所对应的位置置为1的 bitset<32>对象。然后换个方法,给定一个空的bitset对象。编写一小段程序把相应的数位设置为1 */ #include <iostream> #include <stdlib.h> #include <bitset> #include <string> using namespace std; using std::bitset; // 方法一: void methodOne() { string m_str = "0000000000100000001000010010111" ; bitset<32> m_bitset(m_str) ; for (int i = 0; i < 32; ++ i) { cout << m_bitset[i]; } } // 方法二: void methodTwo() { int m_pos[] = {1-1, 2-1, 3-1, 5-1, 8-1, 13-1, 21-1}; bitset<32> m_bitset; for (int i = 0; i < 7; ++i) { m_bitset.set(m_pos[i]); } for (int i = 0; i < 32; ++i) { cout << m_bitset[i]; } } int main() { //methodOne(); methodTwo(); system("pause"); return 0; }