大小端(C语言)

一、什么是大小端:

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;
}

相关推荐

  1. C语言 判断当前存储大小问题

    2024-01-29 13:44:03       44 阅读
  2. C++|char*大小转换

    2024-01-29 13:44:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-29 13:44:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-29 13:44:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-29 13:44:03       82 阅读
  4. Python语言-面向对象

    2024-01-29 13:44:03       91 阅读

热门阅读

  1. 面试经典 150 题 ---- 删除排序数组中的重复项

    2024-01-29 13:44:03       55 阅读
  2. 面试经典 150 题 ---- 移除元素

    2024-01-29 13:44:03       59 阅读
  3. 一个SSE(流式)接口引发的问题

    2024-01-29 13:44:03       54 阅读
  4. Shell脚本转发activemg topic消息到另个activemg服务器

    2024-01-29 13:44:03       57 阅读
  5. STL容器大总结区分(下)

    2024-01-29 13:44:03       39 阅读
  6. 详解微服务

    2024-01-29 13:44:03       49 阅读
  7. Unity显示物体的边框

    2024-01-29 13:44:03       52 阅读
  8. 面试经典题---30.串联所有单词的子串

    2024-01-29 13:44:03       46 阅读