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

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

相关推荐
学生哥-_-15 分钟前
STC8H1K08单片机在Keil环境下各外设的配置及使用方法
单片机·嵌入式硬件·mongodb
hongmai6668882 小时前
聊聊ESP32-C3-WROOM-02-N8这颗8MB Flash的RISC-V模组
笔记·嵌入式硬件·物联网·智能路由器·risc-v
c238568 小时前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
李永奉8 小时前
C语言-嵌入式开发C语言常用预处理指令合集
c语言·开发语言
YuforiaCode10 小时前
第十六届蓝桥杯 2025 C/C++组 数列差分
c语言·c++·蓝桥杯
VALENIAN瓦伦尼安教学设备12 小时前
激光对中仪采购要点
数据库·嵌入式硬件·算法
芯岭技术12 小时前
OM6625A芯片使用PY32 link烧录程序流程操作介绍
嵌入式硬件·物联网
捷瑞电子工坊13 小时前
C语言二维数组在内存中是如何存储的?
c语言·二维数组·内存存储·数组底层
lilili也14 小时前
visual studio add matlab
c语言·c++
zlinear数据采集卡14 小时前
ZLinear DABM-D223 通信协议与软件开发全解析:从 USB CDC 到 DDS 波形输出
arm开发·嵌入式硬件·fpga开发·开源