cpu的大小端模式【big endian/little endian】

         所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;

  例如:1234  在内存中存放也是:1234(地址由低到高)

所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。

  例如:1234  在内存中存放则是:4321(地址由低到高)

  这里给出一个判断CPU是何种模式的C方法:(结构体中各个变量的低地址对齐)

main(){
	union test{short a; char c;};
	union test a;
	a.a=1;
	printf("%d/n",a.c==1);
 }

如果输出1,则是little endian ,反之为big endian。

你可能感兴趣的:(cpu的大小端模式【big endian/little endian】)