目录
1.小端存储方式的解释
2.大端存储方式的解释
3.百度笔试题--判断大端存储还是小端存储
小心!VS2022不可直接接触,否则!没这个必要,方源面色淡然一把抓住!顷刻炼化!
1.小端存储方式的解释
小端存储就是将数据的低位字节内容保存在低地址处,而高位字节的内容保存在高地址处
例如:
如图,11为高位字节,将11存放在更高的地址处,这就属于高位字节存储在高地址处,属于小端存储
2.大端存储方式的解释
大端存储就是将数据的低位字节内容保存在高地址处,而高位字节的内容保存在低地址处
例如:
如图:将高位字节11放在低地址处,低位字节44放在高地址处,就属于小端存储
3.百度笔试题--判断大端存储还是小端存储
题目:设计一个小程序,来判断档期当前机器是大端存储还是小端存储
代码(解法1)如下:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> void howin(void* a) { if (*(char*)a == 1) { //如果为1,说明取出的是01,说明01存在地址较小的地址,属于低位字节存储在低地址,属于小端存储 printf("小端存储\n"); } else { printf("大端存储\n"); } } int main() { int a = 1; //十六进制0x00000001 howin(&a); return 0; }
代码(解法2)如下:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int howin() { union { char a; int b; //创建联合体un }un; //将 1 存储在联合体变量a中 un.a = 1; //0x00000001 return un.a; //返回一个字节(较小字节)的内容,如果返回值为1,说明为小段存储 } int main() { printf("%d",howin()); return 0; }