2010-09-29 71 views
0

我在做JavaScript代碼轉換爲VB.NET。我堅持使用>>>操作。如何將JavaScript中的>>>運算符轉換爲VB.NET?

查看示例代碼和我下面的嘗試:

的JavaScript:

function test(a, b) { 
    return (a << b) | (a >>> (32 - b)) 
} 

我在VB.NET嘗試:

Private Function test(ByVal a As Integer, ByVal b As Integer) As Integer 
    Return ((a << b) Or (CUShort(a) >> (32 - b))) 
End Function 

我在做什麼錯?

回答

1

您應該使用CUInt而不是CUShort。

CUShort給出了一個只有16位大小的UShort。在JavaScript中,所有位操作都以32位完成,所以a也應該轉換爲32位無符號類型 - 即UInteger。

+0

我試過CUInt,CUShort和CULng但我得到錯誤溢出錯誤 – 2010-09-29 19:39:36

相關問題