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

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

相关推荐
小神兵27 分钟前
对电压源与电流源的的简单理解
单片机·嵌入式硬件·物联网
comyccccc1 小时前
三极管与MOS管工作原理全解析学习笔记
单片机·嵌入式硬件
大侠归来2 小时前
C语言素数判断:从入门到进阶
java·c语言·算法
FPGA小徐2 小时前
运放电路:负载必须接地时,如何做电流采样(浮地负载 vs 接地负载)
单片机·嵌入式硬件
大圣编蚕2 小时前
C语言核心知识复习:预处理、头文件、强制类型转换、错误处理、递归与内存管理
c语言·开发语言
木白CPP3 小时前
USB(一): USB 概述&&介绍
linux·网络·嵌入式硬件
anew___3 小时前
《从零手写操作系统 (21):用户态C运行时——从裸ELF到printf》
linux·服务器·c语言
HEJOO93 小时前
指针与结构体:C 语言进阶核心详解
c语言·开发语言·网络
Logic1013 小时前
关于汉诺塔问题的分析
c语言·算法·递归·函数·解题思路·递归函数·汉诺塔问题
木白CPP4 小时前
USB(二):USB设备枚举过程
嵌入式硬件