LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 814|回复: 1

请问应该如何用c或者c++对不是8的整数倍的子域进行读写?

[复制链接]
发表于 2009-5-19 10:06:07 | 显示全部楼层 |阅读模式
工作是这样的:要输入或输出一个56位的串,要分别对其第1-5位,6-7位,8位,9-20位,21位,22位,23-39位40-56位进行读写...这应该用什么方法呢?不要用移位的方法。谢谢大家帮忙!急用
可能我没说明白,位域是不能跨字节的,所以像12,17位的是不可以的。而且我不希望留下空域,每个位域要连载一起。。。就是这个不知道该怎么办。。。大家帮帮我,不要鄙视我啊。。。
发表于 2009-5-19 14:41:52 | 显示全部楼层
除非有明确的原因,不然你“绝对应该”使用移位的办法。

至于位域,很多团队的编程规范中都明确禁止使用。

mask+shift,就是常规办法,移位嘛,没什么可鄙视的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表