一个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位?