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

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

相关推荐
从零开始的嵌入式之旅2 分钟前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员8 分钟前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程
一只小透明啊啊啊啊12 分钟前
Socket、AIDL、SOME/IP
c++·mcu
CHENKONG_CK33 分钟前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
祖力5543 分钟前
ARM时钟
嵌入式硬件·arm·时钟·imx6ull
码不停蹄Zzz1 小时前
指针用法篇——malloc和free指针详解
c语言
三佛科技-187366133971 小时前
128KB~512KB Flash车规级MCU选型指南(FT32A072 / FT32A103 系列)
单片机·嵌入式硬件
彧azz1 小时前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构
白色的北极熊1 小时前
c语言 牛客网 BC15
c语言
Brilliantwxx1 小时前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件