下面是简单的演示代码。可以将它封装成类使用。 #include <iostream> using namespace std; #define D(name) unsigned name:1 union _U{ public: struct { D(a0); D(a1); D(a2); D(a3); D(a4); D(a5); D(a6); D(a7); } S; int I; friend ostream& operator<<(ostream& out, const _U& u) { //return out << char(u.S.a7+'0') << char(u.S.a6+'0'); return out << endl; } void print(ostream& out = cout) { out << S.a7 << S.a6 << S.a5 << S.a4 << S.a3 << S.a2 << S.a1 << S.a0 << endl; } }; int main() { _U u; u.I = 0; u.print(); //cout << u << endl; u.I++; u.print(); u.I = 127; u.print(); // cout << U << endl; for(u.I = 0; u.I <= 8; u.I++) { cout << u.I << endl; u.print(); } return 0; }