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

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

相关推荐
不会编程的小寒28 分钟前
C and C++ 八股文
c语言·c++·青少年编程
Zero_Era36 分钟前
LKT6850安全MCU应用场景介绍
单片机·嵌入式硬件
西城微科方案开发1 小时前
西城微科的体重秤方案开发之路-方案开发商
单片机·嵌入式硬件·方案公司推荐
王光环2 小时前
C语言写exe脚本
c语言·开发语言
leoufung2 小时前
图解除法查询问题:用 C 语言和 DFS 实现带权有向图的路径乘积
c语言·开发语言·深度优先
雨落在了我的手上2 小时前
知识扩展:进制的详细介绍
c语言·学习
std860212 小时前
5000 小时极限“烧屏”施压,微星 QD-OLED 显示器依然坚挺
stm32·单片机·嵌入式硬件
charlie1145141912 小时前
深入理解CC++的编译与链接技术8:Windows和Linux是如何搜寻动态库的?
c语言·c++·动态库·编译·编译技术
List<String> error_P2 小时前
简简单单学蓝桥单片机模块之 LED控制
单片机·嵌入式硬件
缘三水3 小时前
【C语言】12.指针(2)
c语言·开发语言·指针