[火星]结构中使用位域时在 小端 情况下数据在内存中存放顺序??
一个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位?
[解决办法]
设置个断点看下内存内容就知道了 排在前面的占低位