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

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

相关推荐
炸膛坦客24 分钟前
常见代码问题与解答:(二)因外部晶振频率改变导致 MCU 锁死的原因及处理方法
单片机·嵌入式硬件
牧以南歌〆1 小时前
数据结构<三>单循环链表
c语言·数据结构·算法·链表
ShiMetaPi2 小时前
ShiMetaPi Pico-G1:百元级黑光全彩AI ISP开发板
人工智能·嵌入式硬件·pico·isp
麻瓜老宋2 小时前
AI开发C语言应用按步走,我的基础开发环境
c语言·开发语言
见叶之秋2 小时前
C细节补充
c语言·开发语言
Lzh编程小栈2 小时前
嵌入式深度精讲|STM32引脚全方位底层原理、配置逻辑、硬件规范、高频面试题
c语言·stm32·单片机·嵌入式硬件
AI的探索之旅2 小时前
我把立创EDA接进了本地大模型:数据不出门的AI设计检查实测
人工智能·stm32·硬件工程
天空'之城11 小时前
C 语言工业级通用组件手写 04:阻塞队列
c语言·嵌入式开发·阻塞队列·多线程开发
dtq042414 小时前
C语言-结构体详解
c语言·开发语言·学习
ch3nyuyu15 小时前
单片机实验2
单片机·嵌入式硬件