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

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

相关推荐
Max_uuc3 小时前
【硬件心法】打破软硬边界:从原理图剖析探秘“微安级”精密电流采样的底层架构
单片机·嵌入式硬件
Once_day4 小时前
C++之《程序员自我修养》读书总结(4)
c语言·c++·编译和链接
三无少女指南5 小时前
开发者环境配置:用 Ollama 实现本地大模型部署(附下载慢的解决方案
c语言·开发语言·数据库·ubuntu
2501_918126915 小时前
stm32核心板是什么属性?
linux·c语言·stm32·嵌入式硬件·个人开发
m0_531237176 小时前
C语言-操作符练习
c语言·开发语言
古译汉书6 小时前
RTOS:ISR与互斥量的关系
运维·服务器·stm32·嵌入式硬件
载数而行5206 小时前
算法系列2之最短路径
c语言·数据结构·c++·算法·贪心算法
代码改善世界7 小时前
栈和队列的实现与详解(C语言版):从底层原理到代码实战
c语言·开发语言
智者知已应修善业7 小时前
【冰雹猜想过程逆序输出】2025-4-19
c语言·c++·经验分享·笔记·算法
宇木灵9 小时前
C语言基础-十一、递归与分治(完结)
c语言·开发语言·学习·算法