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

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

相关推荐
聊询QQ:276998851 小时前
基于MATLAB与CarSim/PreScan联合仿真的自动驾驶路径规划与动态避障模型研究
stm32
佳航张3 小时前
C语言经典100题---例003--- 完全平方数
c语言
Hominid⁺4 小时前
深度解析:C 语言的 8 个翻译阶段与 GCC 编译全流程
c语言·开发语言
RaLi和夕5 小时前
硬件电路设计学习笔记1.三极管开关电路设计
笔记·嵌入式硬件·学习
捷米研发三部5 小时前
工业无线数传模块:实现汽车零部件厂房 PLC 与触摸屏 300 米无线通讯
单片机·汽车
minglie15 小时前
‌树莓派Pico‌的timer
mcu
电子工程师-C515 小时前
基于51单片机的鱼缸环境检测及控制系统
单片机·嵌入式硬件·51单片机
缘三水6 小时前
【C语言】15.指针(5)
c语言·开发语言·指针·语法
灰灰勇闯IT6 小时前
C语言实战:字符串元音字母提取器的实现与优化
c语言·开发语言
llhm7 小时前
iar中报错:Error[Li005]: no definition for “__aeabi_uldivmod“
单片机