赞
踩
一、什么是大小端:
1.大端(Big-Endian):高地址存放低位
2.小端(Little-Endian):高地址存放高位
例如:0x11223344在内存中存储
当基本数据类型占用字节数超过了1字节后,大小端决定了数据按照什么顺序存储在内存里
如何确定大小端?
当我们不知道当前换将是大端存储还是小端存储的时候,就需要用代码来确定当前环境的大小端
1.强类型转换(int-->char)
- int n = 1;
- char* p = (char*)&n;
- if (*p == 1) {
- printf("小端\n");
- }
- else {
- printf("大端\n");
- }
2.共用体(union)
- #include<stdio.h>
- union u {
- int n;
- char c;
- };
- int main()
- {
- union u m;
- m.n = 0x11223344;
- if (m.c == 0x44) {
- printf("小端");
- }
- else {
- printf("大端");
- }
- return 0;
- }
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。