自己实现sizeof+大小端测试
发布日期:2021-05-14 08:57:19 浏览次数:22 分类:精选文章

本文共 796 字,大约阅读时间需要 2 分钟。

#define my_sizeof(type) ((char *)(&type+1)-(char*)(&type))

同时大小端测试 如下

#include 
#include
#define my_sizeof(type) ((char *)(&type+1)-(char*)(&type))int main(void){ unsigned int u32RawData; unsigned char *pu8CheckData; u32RawData = 0x11223344; //Assign data printf("%ld\n", my_sizeof(u32RawData)); printf("%p\n", (&u32RawData+1 - &u32RawData)); printf("%p\n", (char*)(&u32RawData+1)-(char*)(&u32RawData)); printf("%p\n", (char*)(&u32RawData)); pu8CheckData = (unsigned char *)&u32RawData; //Type cast if (*pu8CheckData == 0x44) //check the value of lower address { printf("little-endian"); } else if (*pu8CheckData == 0x11) //check the value of lower address { printf("big-endian"); } return 0;}

在x86平台测试是小端模式

上一篇:写一个程序检查一个整数是2的幂
下一篇:死磕浮点数——浮点数格式与存储

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月15日 00时47分04秒