关于结构问题,急!!!

cs_lyl 2004-03-23 11:41:15
我想对数据进行位运算,定义了如下结构:
struct group {
unsigned a : 1;
unsigned b : 1;
int c : 6;
int d : 8;
}group_t;
group.a=1;
group.b=0;
group.c=5;
group.d=11;
我想得到整个结构的值,即group的值,应该是二进制1000010100001011;
并把它赋值给另一变量,
请教如何实现!!!!
...全文
29 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2004-03-24
  • 打赏
  • 举报
回复
或者定义结构的时候,使用union。

union group {
struct {
unsigned a : 1;
unsigned b : 1;
int c : 6;
int d : 8;
};
WORD Value;
}group;

group.a=1;
group.b=0;
group.c=5;
group.d=11;
//group.Value 就是你要的。
jishiping 2004-03-24
  • 打赏
  • 举报
回复
这个结构为16位,就是只有2个字节,当然不能使用 int* 了,而应该是 WORD*
int val = *(WORD*)&group;
feihu989 2004-03-24
  • 打赏
  • 举报
回复
关注
cs_lyl 2004-03-24
  • 打赏
  • 举报
回复
编译可以通过,返回的值不对
serafini 2004-03-23
  • 打赏
  • 举报
回复
那当然编不过拉。要重载超作符,写类型转换函数!
cs_lyl 2004-03-23
  • 打赏
  • 举报
回复
不行
char h;
h=(char)group;
编译通不过
极速小王子 2004-03-23
  • 打赏
  • 举报
回复
other_variable=(强制转换类型)group;
POLOM 2004-03-23
  • 打赏
  • 举报
回复
int val = *(int *)(&group);
101monster 2004-03-23
  • 打赏
  • 举报
回复
呵呵,UP!
cs_lyl 2004-03-23
  • 打赏
  • 举报
回复
如何写?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧