vb.net中如何将一个32位的数转换为两个16位的数,并且再转换回来?

华仔最近开发对接plc的小应用,遇到些问题,还好在查看强大的大神们零零散散的回答后,组织起来并且解决了

现在跟大家分享分享这个有趣的东西

第1部分:32转16

下面是转换代码

'转换成高字
Public Shared Function HIWORD(ByVal value As UInteger) As UShort
    Return CUShort(value >> 16)
End Function
'转换成低字
Public Shared Function LOWORD(ByVal value As UInteger) As UShort
    Return CUShort(value And &HFFFF)
End Function

如32位的数:999999

调用HIWORD函数,返回的数为:15

调用LOWORD函数,返回的数为:16959

第2部分:16转32

这个,就是小学数学计算题了

如上面的999999例子

999999=15*2^16+16959

32位数=高字*2的16次方+低字

 

虽然是个比较简单的问题,但是还是想记录一下,让大家互相学习!

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容