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

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

相关推荐
嵌入式-老费11 小时前
esp开发与应用(继电器的使用)
单片机·嵌入式硬件
CPETW11 小时前
RS-232 Sniffer 嗅探器 ---- UNI-T电子负载通讯协议抓取-A
网络·科技·stm32·单片机·嵌入式硬件·电子
wotaifuzao11 小时前
指针和中断不是魔法:用第一性原理看穿嵌入式底层(万字解析)
stm32·嵌入式开发·内存模型·c语言指针·arm架构·中断机制·rtos内核
xiangw@GZ11 小时前
倒 F 天线 (IFA/MIFA) 原理深度解析
单片机·嵌入式硬件
m0_3771081411 小时前
stm32时钟
stm32·单片机·嵌入式硬件
smalming11 小时前
【产品开发】空气波按摩器的一些控制逻辑
嵌入式硬件·嵌入式软件
嗯? 嗯。11 小时前
S32K外设Usart
单片机·嵌入式硬件
我还记得那天12 小时前
数组的2个应用举例
c语言·开发语言·二分查找·数组
星夜夏空9912 小时前
STM32单片机学习(24) —— 硬件I2C和软件I2C
stm32·单片机·学习
学困昇12 小时前
Linux IPC 详解:匿名管道、命名管道、共享内存与信号量
linux·运维·服务器·c语言·c++·人工智能