|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 位字段移植性问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
437
人关注过本帖
标题:
位字段移植性问题
只看楼主
加入收藏
至尊幽蓝
等 级:
论坛游民
帖 子:7
专家分:20
注 册:2015-7-30
结帖率:
0
楼主
收藏
已结贴
√
问题点数:10 回复次数:5
位字段移植性问题
书上说,位字段难以移植,谁能给解释下怎么个难移植啊。
当然,不同的平台,同一组位运算符操作,可能产生不同的结果,要是不用位运算符,只用位字段结构成员名,就不会有事了吧。
还有,不同的机器上需要不同的掩码,通过构造一个联合,包含一个位字段结构或一个int,让每个字段对象分别为所要的值,其它为0,读取联合中int的值不就是掩码吗。
是这样吗?
搜索更多相关主题的帖子:
性问题
联合
2015-08-02 12:45
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
2
楼
收藏
得分:10
你说位字段是什么?
授人以渔,不授人以鱼。
2015-08-02 17:31
举报帖子
使用道具
赠送鲜花
至尊幽蓝
等 级:
论坛游民
帖 子:7
专家分:20
注 册:2015-7-30
第
3
楼
收藏
得分:0
回复 2楼 TonyDeng
struct A
{
unsigned b:2;
unsigned c:3;
unsigned d:3;
};
类似这种,b,c,d都是位字段
2015-08-02 18:01
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
4
楼
收藏
得分:0
那你觉得移植到其他机器上A都与这里的A是同一尺寸?里面的unsigned呢,也是一样的?不同尺寸的数据,你怎么掩?
授人以渔,不授人以鱼。
2015-08-02 18:05
举报帖子
使用道具
赠送鲜花
至尊幽蓝
等 级:
论坛游民
帖 子:7
专家分:20
注 册:2015-7-30
第
5
楼
收藏
得分:0
2个问题:
1.你的意思就是要进行位运算时,不知道怎么算,也就是掩码不知道是多少,那我只使用位字段的存储功能,不写位运算的代码,是不是就可移植了。
2.关于怎么构造掩码的问题,我想是不是可以这样,先有前面的字段结构A,然后声明个联合:
程序代码:
union
E {
struct
A;
unsigned
F; }XX;
然后
XX.F=
0
; A.b=
3
;
此时,掩码就是XX.F的值。想构造什么样的掩码,对联合中的A相应位赋值,其它位是0,再从F获得掩码。
你说这样行吗?
2015-08-02 18:55
举报帖子
使用道具
赠送鲜花
至尊幽蓝
等 级:
论坛游民
帖 子:7
专家分:20
注 册:2015-7-30
第
6
楼
收藏
得分:0
回复 4楼 TonyDeng
更正:
是
XX.F=0;
XX.A.b=3;
3就是11b
2015-08-02 18:57
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
位字段移植性问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.016326 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved