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

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

相关推荐
Zw-awa11 小时前
PWM 为什么能调速:从 LED 亮度变化到直流电机转起来
stm32
送外卖的工程师11 小时前
STM32智能家庭安防系统
stm32·单片机·嵌入式硬件
送外卖的工程师11 小时前
STM32智能消毒柜
stm32·单片机·嵌入式硬件
铅笔小新z12 小时前
【C语言】操作符
c语言
CodeFragment12 小时前
裸机开发速记:启动流程|GIC 中断|时钟系统|UART 通信
arm开发·单片机·嵌入式硬件
ebiobiz12 小时前
基于 GD32 Embedded Builder (GEB) 与 Nimmake 的 MCU 工程搭建指南
c++·python·单片机·嵌入式硬件·mcu
by2099913 小时前
从 malloc/free 到 new/delete:真正理解 C++ 中的内存管理与对象生命周期
c语言·c++·经验分享·动态内存管理
额额额对了13 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
创界工坊工作室13 小时前
14-基于stm32的水肥一体化灌溉系统设计
stm32·单片机·嵌入式硬件
Logic10114 小时前
C语言/数据结构位运算题解:异或XOR找出书柜中编号只出现一次的那一层——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质