这段代码输出很奇怪,不知道为什么?该如何处理

这段代码输出很奇怪,不知道为什么?
typedef   struct   _DCB
{
int   f:8;
int   k:1;

}DCB;

int   main()
{
DCB   a;
a.f=8;
cout < <a.f < <endl;
cout < <a.f < <endl < <a.k < <endl < < "End   of   Function! " < <endl;
return   0;
}
//最后输出的数字很奇怪,不是看上去的数,在VC跟DEV中不一样

------解决方案--------------------
有什么不一样呢?
------解决方案--------------------
VC 好像有自定义的 使用内存 初始化过程
------解决方案--------------------
只使用int(系统给定32位)的9位或者7位
------解决方案--------------------
typedef struct _DCB
{
int f:9;
int k:7;
}DCB; //表示结构DCB只占用 (16 = (9 + 7)) 个比特位,这是C语言的一种用法