新闻| 论坛| 博客| 在线研讨会
【C练习】大小端转换函数
电子禅石| 2023-02-22 17:23:37 阅读:8056 发布文章

实现一个大小端转换函数。


32bit数据大小端转化

大小端转化的函数有很多,系统也提供了一些运行库,如网络库中提供的:htons、htonl等函数,但需要引用对应的头文件,打包也需要包含对应的库文件。如果只是简单的用到大小端转化,那么可以采用如下宏函数来实现。


可用于网络的IP、Port大小端转化,也可用于flash存储、文件存储时所需的大小端转化。


// 4bytes、32bit数据大小端转化 #define L2B32(Little) (((Little & 0xff) << 24) | (((Little >> 8) & 0xff) << 16) | (((Little >> 16) & 0xff) << 8) | ((Little >> 24) & 0xff))

————————————————

优化一下

// 4bytes、32bit数据大小端转化 #define L2B32(Little) (((Little & 0xff) << 24) | (((Little) & 0xff00) << 8) | (((Little) & 0xff0000) >> 8) | ((Little >> 24) & 0xff))

16bit数据大小端转化
// 2bytes、16bit数据大小端转化 #define L2B16(Little) (((Little & 0xff) << 8) | ((Little >> 8) & 0xff))

原文链接:https://blog.csdn.net/u010333084/article/details/120738241


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
最近文章
签名类型
2024-04-29 16:28:59
cat 文件名
2024-04-29 15:05:34
推荐文章
最近访客