代码改变世界

C语言 大小端转换(16位)c51,ARM

  花无缺Andyi  阅读(131)  评论(0编辑  收藏  举报

//
C++ #include <arpa/inet.h> uint32_t htonl(uint32_t buffer); // 32位 uint16_t htons(uint16_t buffer); // 16位

Linux上,无符号c++版

 

#define __SWP16(A)   (( ((uint16)(A) & 0xff00) >> 8)    | \  
(( (uint16)(A) & 0x00ff) << 8))  
 
#define __SWP32(A)   ((( (uint32)(A) & 0xff000000) >> 24) | \  
(( (uint32)(A) & 0x00ff0000) >> 8)   | \  
(( (uint32)(A) & 0x0000ff00) << 8)   | \  
(( (uint32)(A) & 0x000000ff) << 24)) 

 

 

 

c语言版

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-06-22 基于3G通信模块IM506P的锁网锁频实现
点击右上角即可分享
微信分享提示