STM32实战:NB-IoT设备在天翼物联AIoT平台的一站式接入与数据上报
2026/4/22 7:52:19
intcheck_sys(){inta=1;if(*(char*)&a==1){return1;//小端}else{return0;//大端}}intcheck_sys(){inta=1;return*(char*)&a;}intmain(){//printf("小端\n");//errintret=check_sys();if(ret==1)printf("小端\n");elseprintf("大端\n");return0;}0x11223344低地址 高地址1122334444332211大端字节序存储 小端字节序存储 小端存储:把一个数据的高位字节序的内容放到高地址intmain(){chara=-1;//有符号数-128~127signedcharb=-1;//无符号数0~255unsignedcharc=-1;%d打印的是有符号整形,所以char类型要整形提升 char8个bit位,提升至32位(int)有符号补0/1,无符号补0!!!printf("a=%d,b=%d,c=%d",a,b,c);//-1,-1,255return0;}intmain(){chara=-128;原:10000000000000000000000010000000反:11111111111111111111111101111111补:11111111111111111111111110000000-截断10000000-a 当 printf%d调用时,char会整型提升为int(通常是32位),高位按**符号位**填充:printf("%d\n",a);//%d - 打印有符号整形原:11111111111111111111111110000000-提升 反:10000000000000000000000001111111补:10000000000000000000000010000000-128%u 无符号数 → 不看符号位,直接把二进制全部当正数,**高位补0**(这里已经是32位,直接用)printf("%u\n",a);//%u - 打印无符号整数原码:10000000000000000000000010000000反码:11111111111111111111111101111111补码:111111111111111111111111100000004294967168return0;}//浮点型在内存中的存储//int main()//{// int n = 9;// //[00000000000000000000000000001001]// //0 00000000 00000000000000000001001// //E=-126// //M=0.00000000000000000001001// //+ 0.00000000000000000001001* 2^-126// //// float* pFloat = (float*)&n;// printf("n的值为:%d\n", n);//9// printf("*pFloat的值为:%f\n", *pFloat);//0.000000//// *pFloat = 9.0;//// //1001.0// //1.001*2^3// //S=0 E=3 M=1.001// //[01000001000100000000000000000000]// //// printf("num的值为:%d\n", n);//// printf("*pFloat的值为:%f\n", *pFloat);//9.0// return 0;//}//浮点数存入内存//int main()//{// float f = 5.5f;// 5.5// 101.1// 1.011*2^2// s=0 m=1.011 e=2 -> 2+127 =129// 0 10000001 01100000000000000000000// (-1)^0 * 1.01100000000000000000000 * 2^2// 0x40 b0 00 00//// return 0;//}