2010-09-29 40 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

相关问题