读书人

[火星]结构中使用位域时在 小端 情况下

发布时间: 2012-04-20 15:27:03 作者: rapoo

[火星]结构中使用位域时在 小端 情况下数据在内存中存放顺序??
一个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位?


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

读书人网 >VC/MFC

热点推荐