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

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

相关推荐
搬砖的kk6 分钟前
Lycium++ - OpenHarmony PC C/C++ 增强编译框架
c语言·开发语言·c++
fantasy_arch1 小时前
pd_process.c 文件源码分析
c语言·数据库·视频编解码·av1
天庭鸡腿哥2 小时前
国外软件,安装即时专业版!
stm32·microsoft·macos·everything
214实验室2 小时前
STM32串口打印使用printf乱码问题
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi2 小时前
基于单片机的电厂烟道粉尘浓度检测系统(论文+源码)
单片机·嵌入式硬件·毕业设计
Groundwork Explorer3 小时前
异步框架+POLL混合方案应对ESP32 MPY多任务+TCP多连接
python·单片机
d111111111d5 小时前
什么是内存对齐?在STM32上面如何通过编辑器指令来实现内存对齐。
笔记·stm32·单片机·嵌入式硬件·学习·编辑器
黎雁·泠崖5 小时前
C 语言指针进阶教程:const 修饰、野指针规避与传址调用
c语言·开发语言
bai5459365 小时前
STM32 CuberIDE 中断
stm32·单片机·嵌入式硬件
小叶子来了啊6 小时前
5Arduino 程序结构
单片机·嵌入式硬件