大小端是指数据在内存中存放的顺序,大于一个字节的整数,在内存中低字节在前的就是小端,高字节在前的就是大端。用C语言程序来判断大端机还是小端机:
#include<stdio.h>int main()
{ short x;
char x0;
x=0x1122;
x0=((char *)&x)[0];
if(x0==0x11)
printf("大端\n");
else
printf("小端\n");
return 0;}
## 位域 ##位域是指信息在存储时,并不需要占用完整的字节,只需要占用几个二进制位。位域就是把一个字节中的二进制位分成几个不同的区域,每个区域有域名和确定的二进制位数。
位域定义:struct 位域结构名{位域列表};
例:struct bs{ int a:8;
int b:2;
int c:6;}
说明数据bs占两个字节,位域a占8个二进制位,位域b占2个二进制位,位域c占6个二进制位。
位域的使用:例:#include<stdio.h>struct
{ int a:4;
int b:4;
int c:8;
int d:6;
int e:2;}
LeeMinho;
int main(){
LeeMinho.a=7;
LeeMinho.b=4;
LeeMinho.c=7;
printf("%d,%d,%d\n",LeeMinho.a,LeeMinho.b,LeeMinho.c);
return 0;}
运行结果:LeeMinho.a=7;LeeMinho.b=4;LeeMinho.c=7;以此可以节约空间的存储位置。