WEB开发网
开发学院WEB开发综合 如何VB转换C代码中的高字和低字 阅读

如何VB转换C代码中的高字和低字

 2006-02-27 11:41:43 来源:WEB开发网   
核心提示:->当把C代码翻译到VB时,你经常会遇到高字和低字的操作,如何VB转换C代码中的高字和低字,通常是把两个整型值合成一个长整型,当在C代码中使用了无符号整型,以避免溢出和错误的结果,(WXJ_Lake译)开始一个新工程,这最高一位是可以被设置的,因此简单的直接转换高字将会遇到困难
->  当把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->
->

Tags:如何 VB 转换

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接