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

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

相关推荐
JAY_LIN——86 分钟前
C-语言联合体和枚举
c语言
落笔映浮华丶9 分钟前
c程序的翻译过程 linux版
linux·c语言
坏柠16 分钟前
从任务到队列:我在 ESP32-S3 上理解 FreeRTOS 的一次完整实践
嵌入式硬件
水饺编程16 分钟前
第4章,[标签 Win32] :获取设备环境句柄的第一个方法
c语言·c++·windows·visual studio
SmartRadio38 分钟前
精准抑制PA上电冲击方案(正常WIFI大电流无阻碍放行)
单片机·嵌入式硬件·esp32·浪涌·冲击·启动电流
Once_day1 小时前
CC++八股文之内存
c语言·c++
2301_765715141 小时前
C语言轮子制造
c语言·开发语言·制造
量子炒饭大师1 小时前
【C++入门】Cyber骇客的同名异梦——【C++重载函数】(与C的函数差异)
c语言·开发语言·c++·函数重载
科创致远1 小时前
国内ESOP电子作业系统头部企业格局与科创致远技术发展历程
大数据·数据库·人工智能·嵌入式硬件·精益工程
Jia shuheng1 小时前
STM32 GPIO 使用初始化
stm32·单片机·嵌入式硬件