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

#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字节)

相关推荐
十月的皮皮13 小时前
stm20260719-STM32F103RCT6_HAL库_三人抢答器
c语言·stm32·单片机·嵌入式硬件·stm32cubemx·hal库
HPT_Lt13 小时前
告别传统二极管损耗!ZCC5050-1替代LM5050-1,冗余电源效率跃升新高度
嵌入式硬件
π同学14 小时前
热插拔控制器 + 外置功率 MOSFET组合电路设计
嵌入式硬件·热插拔·mosfet
wuyk55514 小时前
53.嵌入式开发中栈溢出的深度解析:从HardFault到解决方案
c语言·stm32·单片机
HHFQ15 小时前
C语言学习笔记:命令行参数错误处理与可变参数机制
c语言
&Hello Code15 小时前
MCU项目软件分层设计规范--以 MCU 项目为例
单片机·嵌入式硬件
syagain_zsx16 小时前
库制作与原理 · 链接知识笔记
c语言·c++·笔记·动态库·静态库
piaoyiren17 小时前
DS18B20 温度采集 + LCD1602 分页显示
单片机·嵌入式硬件·usart·ds18b20·lcd1602
piaoyiren1 天前
STM32 使用LCD1602简单显示字符
stm32·单片机·嵌入式硬件·lcd1602
小羊先生car1 天前
软件:STM32-F1系列-读取Flash(2026/7/14)
stm32·单片机·嵌入式硬件