社区
C++ 语言
帖子详情
位域的操作
interlace2010
2011-07-28 12:00:25
一个字节里可以存很多信息,但是当存好之后我应该怎样把这个字节里的信息分别提取出来呢?
...全文
90
8
打赏
收藏
位域的操作
一个字节里可以存很多信息,但是当存好之后我应该怎样把这个字节里的信息分别提取出来呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
interlace2010
2011-07-28
打赏
举报
回复
谢谢各位的解答,小弟已经明白了
ningto.com
2011-07-28
打赏
举报
回复
这样看你怎么定义的, 如:00101001, 你要取101,可以这样:00101001 & 00111000
叁叁玖玖
2011-07-28
打赏
举报
回复
http://blogold.chinaunix.net/u1/57802/showart_1931487.html
Michael_Xie
2011-07-28
打赏
举报
回复
用bitset
赵4老师
2011-07-28
打赏
举报
回复
用&、|、<<、>>
或用位域
gz_qmc
2011-07-28
打赏
举报
回复
具体还要看你对各种位的定义而定
gz_qmc
2011-07-28
打赏
举报
回复
简单就用位操作,复杂的才用位域
char ch;比如说这是你的字节
提取第4位开始的3个字节的值
用位操作: char Val=(ch>>4)&7;
用位域:
typedef struct MyType
{
unsigned :1;
unsigned x:3; //这是需要的,所以要有名字
unsigned :4;
}MCHAR;
MCHAR n=(char)ch;
char Val=n.x;
赵4老师
2011-07-28
打赏
举报
回复
[Quote=引用 6 楼 tujiaw 的回复:]
这样看你怎么定义的, 如:00101001, 你要取101,可以这样:00101001 & 00111000
[/Quote]
如:00101001, 你要取101,可以这样:(00101001 & 00111000)>>3
linux c 简单
位域
操作
linux c
位域
操作
报文
位域
操作
报文
位域
操作
报文 简单
位域
操作
位域
操作
报文
位域
操作
报文
位域
操作
报文
Linux c
位域
操作
完整版 经典版
Linux c
位域
操作
完整版 经典版 Linux c
位域
操作
完整版 经典版
行业分类-电子-关于
位域
操作
电路及
位域
操作
方法的说明分析.rar
行业分类-电子-关于
位域
操作
电路及
位域
操作
方法的说明分析.rar
单片机C环境下位
操作
的实现方法(宏定义,
位域
操作
)
自己留着,单片机C环境下位
操作
的实现方法(宏定义,
位域
操作
)
c c++
位域
研究总结!!!
c c++
位域
研究总结!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C++ 语言
64,642
社区成员
250,580
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章