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

原创 羽化飞翔  2019-12-11 11:03  阅读 735 次
摘要:

华仔最近开发对接plc的小应用,遇到些问题,还好在查看强大的大神们零零散散的回答后,组织起来并且解决了现在跟大家分享分享这个有趣的东西。vb.net中如何将一个32位的数转换为两个16位的数?vb.net中如何16位的一个高字和一个低字转换回一个32位的数?

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

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

vb.net中如何将一个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

vb.net中如何16位的一个高字和一个低字转换回一个32位的数?

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

如上面的999999例子

999999=15*2^16+16959

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

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

本文地址:https://www.huazai186.com/post/24.html
关注我们:请关注一下我们的微信公众号:扫描二维码羽化飞翔的公众号,公众号:yhfx8686
版权声明:本文为原创文章,版权归 羽化飞翔 所有,欢迎分享本文,转载请保留出处!此外,本网站旨在向广大网友提供任何资源的开发、使用、安装教程,所提供的下载服务仅供学习交流探讨,请广大网友学习完成后,24小时内删除相关资源。如果涉及到侵犯版权事宜,请联系删除资源下载信息,谢谢各位的理解与支持!
打赏二维码

发表评论

您必须 登录 才能发表留言!