您的位置:首页 > 其它

使用位段实现整数的二进制形式输出

2009-02-02 00:36 260 查看
下面是简单的演示代码。可以将它封装成类使用。

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐