c#里怎么实现 VC6 里的 数据类型转换 -----------------急!

rest1234 2017-08-18 09:45:55
VC6里的 这些 LOBYTE HIBYTE 类型转换 在C#里应该怎么写啊............



#define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8))
#define MAKELONG(a, b) ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16))
#define LOWORD(l) ((WORD)(l))
#define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
#define LOBYTE(w) ((BYTE)(w))
#define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF))


lSaveValue = g_saInValue[nItemBegin+1].long_int;

m_iaRemainDelay[nLogicNo] = HIBYTE(HIWORD(lSaveValue));
m_iaDetect[nLogicNo] = LOBYTE(HIWORD(lSaveValue));
m_iaAddFault[nLogicNo] = HIBYTE(LOWORD(lSaveValue));
m_iaFault[nLogicNo] = ShieldIdleBit(LOBYTE(LOWORD(lSaveValue)), DEVICE_FAULT);
...全文
185 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdashewan 2017-08-18
  • 打赏
  • 举报
回复
这是宏吧,你可以把他看作函数,括号里的是参数
甜思思 2017-08-18
  • 打赏
  • 举报
回复
public static ushort LOWORD(uint value) { return (ushort)(value & 0xFFFF); } public static ushort HIWORD(uint value) { return (ushort)(value >> 16); } public static byte LOWBYTE(ushort value) { return (byte)(value & 0xFF); } public static byte HIGHBYTE(ushort value) { return (byte)(value >> 8); }

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧