-> 当把C代码翻译到VB时,你经常会遇到高字和低字的操作,通常是把两个整型值合成一个长整型。当在C代码中使用了无符号整型,这最高一位是可以被设置的,因此简单的直接转换高字将会遇到困难。由于VB不支持无符号算术符,我们只好剥去这最高一位,在稍后再把它加回来,以避免溢出和错误的结果。(WXJ_Lake译)
开始一个新工程,增添一个标准模块。把以下代码写入模块:
Startanewprojectthenaddamodule.Addthefollowingcodetothemodule:
PublicPropertyGetLoWord(ByReflThisAsLong)AsLong
LoWord=(lThisAnd&HFFFF&)
EndProperty
PublicPropertyLetLoWord(ByReflThisAsLong,ByVallLoWordAsLong)
lThis=lThisAndNot&HFFFF&OrlLoWord
EndProperty
PublicPropertyGetHiWord(ByReflThisAsLong)AsLong
If(lThisAnd&H80000000)=&H80000000Then
HiWord=((lThisAnd&H7FFF0000)\&H10000)Or&H8000&
Else
HiWord=(lThisAnd&HFFFF0000)\&H10000
EndIf
EndProperty
PublicPropertyLetHiWord(ByReflThisAsLong,ByVallHiWordAsLong)
If(lHiWordAnd&H8000&)=&H8000&Then
lThis=lThisAndNot&HFFFF0000Or((lHiWordAnd&H7FFF&)*&H10000)Or&H80000000
Else
lThis=lThisAndNot&HFFFF0000Or(lHiWord*&H10000)
EndIf
EndProperty->
->
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:
IDC资讯中心 »
如何vb转换c代码中的高字和低字_visualbasic教程