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

2019/12/11 11:03 · VB.NET · 36阅读 · 0评论
阿里云·云小站,新老用户同享,1核2G云服务器低至89元/年,229元/3年;2核4G3M3年639元
摘要:

华仔最近开发对接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
文章标签:
版权声明:本文为原创文章,版权归 羽化飞翔 所有,欢迎分享本文,转载请保留出处!

文件下载

上一篇:
下一篇:
腾讯云618云聚惠活动火热进行中,1核2G-288元/3年,2核4G3M-1288元/3年,2核8G5M-1688元/3年,4核8G5M-1999元/3年

 发表评论


表情