从品牌网站建设到网络营销策划,从策略到执行的一站式服务
【转】
成都创新互联是网站建设技术企业,为成都企业提供专业的成都网站设计、做网站,网站设计,网站制作,网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制适合企业的网站。十载品质,值得信赖!
void IsBigEndian()
{
short int a = 0x1122;//十六进制,一个数值占4位
char b = *(char *)a; //通过将short(2字节)强制类型转换成char单字节,b指向a的起始字节(低字节)
if( b == 0x11)//低字节存的是数据的高字节数据
{
//是大端模式
}
else
{
//是小端模式
}
}
2个字节short int 高低位转化:
short int y=0x7f21;
y = ( (y 0xff00) 8) | ( (y 0x00ff ) 8);
printf("%#x",y);
-------------------------------
也可以利用 union
union B2
{
short int i;
unsigned char c[2];
// 。。。任意两字节类型
} ;
union B2 x;
unsigned char tmp;
x.i=0x1234;
tmp = x.c[0]; x.c[0]=x.c[1];x.c[1]=tmp;
// 也可以用上面的位运算方法交换高低端
printf("%#x\n",x.i);
// union 方法特别适合4字节8字节 大端小端码的转换操作。
可以使用位域来定义,同时来转换。例如一个32位int型可以如下定义:
struct test
{
union
{
int bits_4;
struct
{
int bit1 : 8;
int bit2 : 8;
int bit3 : 8;
int bit4 : 8;
};
};
};
将test.bit1和test.bit4对调,test.bit2和test.bit3对调即可。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图