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

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

相关推荐
小羊先生car1 小时前
软件:STM32-F1系列-读取Flash(2026/7/14)
stm32·单片机·嵌入式硬件
麻瓜老宋3 小时前
AI开发C语言应用按步走,表达式计算器calc的第一步,中缀表达式词法分析
c语言·开发语言·atomcode
一个初入编程的小白4 小时前
C语言:函数栈帧与销毁
c语言·开发语言
weixin_464078075 小时前
Altium Designer自定义变压器
嵌入式硬件
QQ5286211246 小时前
芯片程序提取的具体流程和方法
stm32·单片机·嵌入式硬件·程序·pcb抄板
ComputerInBook7 小时前
c 和 c++ 中的宏块(macro)
c语言·c++··宏块·宏指令
LingzhiPi7 小时前
零知派ESP32-S3-智能小车控制系统(4.2)-红外双目跟随模块使用
单片机·嵌入式硬件
bu_shuo8 小时前
c与cpp中的argc和argv
c语言·c++·算法
Aurorar0rua8 小时前
CS50 x 2024 Notes Algorithms - 02
c语言·开发语言·学习方法
足球中国9 小时前
nuget把缓存搬离C盘
c语言·windows·缓存