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

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

相关推荐
来自晴朗的明天1 小时前
23、MCU 上电复位(POR)电路
单片机·嵌入式硬件·硬件工程
CUC-MenG1 小时前
Codeforces Round 1079 (Div. 2)A,B,C,D,E1,E2,F个人题解
c语言·开发语言·数学·算法
666HZ6661 小时前
数据结构4.0 串
c语言·数据结构·算法
上海合宙LuatOS2 小时前
LuatOS核心库API——【fft 】 快速傅里叶变换
java·前端·人工智能·单片机·嵌入式硬件·物联网·机器学习
程序员zgh2 小时前
Linux 内存管理单元 MMU
linux·运维·服务器·c语言·开发语言·c++
Mr YiRan3 小时前
指针实战运用进阶之字符串操作
c语言
嵌入式科普4 小时前
一、为什么RA6T2是数字电源与伺服的理想MCU
单片机·瑞萨·数字电源·ra6t2
Mr YiRan4 小时前
静态开辟内存与动态开辟内存
c语言
935965 小时前
机考24 翻译18 单词11
c语言·数据结构·算法
民国二十三画生6 小时前
C++(兼容 C 语言) 的标准输入语法,用来读取一行文本
c语言·开发语言·c++