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

#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 分钟前
【信号完整性与电源完整性分析】什么是信号完整性?什么是电源完整性?
笔记·stm32·单片机·嵌入式硬件·硬件工程
@good_good_study6 分钟前
FreeRTOS信号量
stm32
Zeku9 分钟前
借助通用驱动spidev实现SPI全双工通信
stm32·freertos·linux驱动开发·linux应用开发
Дерек的学习记录20 分钟前
二叉树(下)
c语言·开发语言·数据结构·学习·算法·链表
单片机系统设计26 分钟前
基于STM32的宠物智能喂食系统
c语言·stm32·单片机·嵌入式硬件·物联网·毕业设计·宠物
雾削木27 分钟前
STM32 HAL DS1302时钟模块
stm32·单片机·嵌入式硬件
leaves falling28 分钟前
c语言- 有序序列合并
c语言·开发语言·数据结构
橙露1 小时前
C语言执行四大流程详解:从源文件到可执行程序的完整生命周期
java·c语言·开发语言
啊阿狸不会拉杆1 小时前
《计算机操作系统》第六章-输入输出系统
java·开发语言·c++·人工智能·嵌入式硬件·os·计算机操作系统
StandbyTime1 小时前
C语言学习-菜鸟教程C经典100例-练习42
c语言