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

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

相关推荐
inrichtt12 分钟前
第十课时:中断优先级揭秘:抢占与嵌套的底层逻辑:
c语言·stm32·单片机·嵌入式硬件·github
国科安芯17 分钟前
星载微控制器MCU功能安全与信息安全协同机制综述
网络·单片机·嵌入式硬件·安全·抗辐射
HRTOS19 分钟前
HRTOS 4.0 官网系统正式更新发布:一轮系统升级完成,进入轻量维护阶段
经验分享·单片机·51单片机
深圳市恒锐丰科技杨生29 分钟前
SS6209L 30V 集成 MOS 半桥功率芯片|LeadPower 率能半导体
嵌入式硬件·硬件工程
comyccccc39 分钟前
STM32最小系统板高效布线与铺铜优化学习笔记
单片机·嵌入式硬件
学逆向的41 分钟前
C printf原型解析
c语言·开发语言·网络安全
一直C1 小时前
嵌入式 Linux 驱动开发学习笔记:中断、等待队列与工作队列
linux·驱动开发·嵌入式硬件·学习·imx6ull
BeiGuTing_code1 小时前
C字符输出:一个换行符引发的“失踪案”
c语言·开发语言
HPT_Lt1 小时前
ZCC70X带看门狗功能的电压复位芯片,替代TPS3832
嵌入式硬件
LCG米9 小时前
STM32串口接收卡死根因排查:ORE溢出标志陷阱、错误标志清除顺序与中断恢复实测
stm32·单片机·嵌入式硬件·串口·嵌入式