提取数据的高位和低位

#define BYTE0(dwTemp)       (*(char *)(&dwTemp))

#define BYTE1(dwTemp)       (*((char *)(&dwTemp) + 1))
#define BYTE2(dwTemp)       (*((char *)(&dwTemp) + 2))
#define BYTE3(dwTemp)       (*((char *)(&dwTemp) + 3))

 

关键是#define BYTE0(dwTemp)       (*(char *)(&dwTemp))的意义:

先取dwTemp的地址,然后强制转换为单字节类型,然后从地址上取数,

所以你可以当这个数是8字节的,然后定义
#define BYTE4(dwTemp)       (*((char *)(&dwTemp)+4))
#define BYTE5(dwTemp)       (*((char *)(&dwTemp)+5))。

永不止步步 发表于06-10 14:56 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:363791个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号