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

#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 分钟前
C语言完美演绎7-11
c语言
爱编码的小八嘎19 分钟前
C语言完美演绎7-9
c语言
范纹杉想快点毕业36 分钟前
C语言全能实战教程
c语言·开发语言
LS_learner44 分钟前
ESP-IDF 多版本共存安装方案
嵌入式硬件
AzusaFighting2 小时前
STM32F103R HAL CAN 通信实战 with Copilot
stm32·单片机·嵌入式硬件
拾-光2 小时前
【无标题】
单片机
ZK_H2 小时前
半导体工艺流程
java·c语言·开发语言·计算机网络·金融
himobrinehacken2 小时前
Windows调试技巧:从Hello到I Love C++
stm32·单片机·嵌入式硬件
网域小星球2 小时前
C语言从0入门(八)|函数基础:封装、调用与参数传递精讲
c语言·开发语言
狂奔蜗牛(bradley)2 小时前
使用数组重构责任链实现通信协议解析
网络·mcu·重构