判断数据在内存中的存储方式算法

#include <stdio.h>

int main() {

unsigned int num = 1;

char *byte = (char*)&num;

if (*byte == 1) {

printf("Little-Endian\n");

} else {

printf("Big-Endian\n");

}

return 0;

}

大端是高字节存于低地址,低字节存于高地址。

小端是低字节存于低地址。

这里先定义一个4个字节的数为1,那么它的16进制表示就是00 00 00 01,然后将其地址转换为char类型,此时用*byte,这个表示读取内存中的第一个字节,即内存中低地址处的字节,如果读出来的值是00,代表是大端模式 ,读出来的是01,就是小端模式。

ps:如何定量的去判断一个任务的堆栈应该多大?(计算每个任务的局部变量和形参大小,以及递归调用的递归深度,比如一个函数是100字节的局部,被递归了10次,那就是1000字节)

相关推荐
fufu03112 分钟前
Linux环境下的C语言编程(四十一)
linux·c语言·算法
minglie111 分钟前
嵌入式彩屏单色字体点阵的存储结构设计
mcu
轻微的风格艾丝凡22 分钟前
浅谈哈佛结构与冯诺依曼结构
嵌入式硬件·嵌入式软件
宋明炜25 分钟前
VSCode + MSYS2 配置 C 语言开发环境(详细步骤)
c语言·ide·vscode
zfxwasaboy29 分钟前
BUG: failure at drivers/pci/msi.c:376/free_msi_irqs()!
linux·c语言·bug
阿拉斯攀登34 分钟前
STM32 架构概述
stm32·单片机·架构
时空未宇42 分钟前
Hi3403-Demo板烧写OH-L1镜像烧写指引
嵌入式硬件
小尧嵌入式1 小时前
深入理解C/C++指针
java·c语言·开发语言·c++·qt·音视频
岁月蹉跎的一杯酒1 小时前
Cmake编译opecv c+报错
c语言·开发语言
weixin_452600691 小时前
守护用电安全的“守护神”,高性能CMOS漏电保护器专用电路D55127快速响应可替代FM2149
嵌入式硬件·无人机·充电桩·散热风扇