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

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

相关推荐
iuu_star5 分钟前
C语言数据结构-顺序查找、折半查找
c语言·数据结构·算法
深耕AI14 分钟前
【时钟周期 vs 指令】为什么51单片机需要12个时钟周期?
单片机·嵌入式硬件·51单片机
Arciab1 小时前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
JoyCheung-3 小时前
Free底层是怎么释放内存的
linux·c语言
清风6666664 小时前
基于单片机的多功能智能婴儿车设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
码咔吧咔4 小时前
STM32芯片简介,以及STM32的存储器映射是什么?
stm32·单片机·嵌入式硬件
别掩6 小时前
MOS防倒灌电路设计
单片机·嵌入式硬件
夜流冰6 小时前
EE - 电容电感电路中电流的变化
单片机·嵌入式硬件
阿华hhh7 小时前
项目(购物商城)
linux·服务器·c语言·c++
橙露7 小时前
STM32中断配置全解析:从寄存器到HAL库的实战应用
stm32·单片机·嵌入式硬件