首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

[火星]结构中使用位域时在 小端 情况下数据在内存中存放顺序?该怎么处理

2012-04-20 
[火星]结构中使用位域时在 小端 情况下数据在内存中存放顺序??一个IP首部以小端字节序 在内存中存放用这样

[火星]结构中使用位域时在 小端 情况下数据在内存中存放顺序??
一个IP首部以小端字节序 在内存中存放

用这样一个结构读它的时候

struct 
{
BYTE Version:4; //读出来以后内容按理来说该是4 表示版本4
BYTE HeadLength:4; //读出来以后内容按理来说该是5 表示5个4字节
BYTE ServiceType;
....

}IpHead

读出来以后震惊的发现 IpHead.Version 是5 ipHead.HeadLength 是4 正好反了

 
BYTE Version:4; 是表示第一个字节的低4位? 还是高4位?
 

[解决办法]
设置个断点看下内存内容就知道了 排在前面的占低位

热点排行