我该如何翻译>>> 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
我做错了什么?
I am doing code conversion from JavaScript to VB.NET. I am stuck with the >>> operation.
See the sample code and my attempt below:
JavaScript:
function test(a, b) {
return (a << b) | (a >>> (32 - b))
}
My attempt in 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
What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该使用 CUInt 而不是 CUShort。
CUShort 给出的 UShort 大小仅为 16 位。在 JavaScript 中,所有位操作都是以 32 位完成的,因此
a
也应该转换为 32 位无符号类型 - 即 UInteger。You should use CUInt instead of CUShort.
CUShort gives an UShort which is only 16-bit in size. In JavaScript all bit operations are done in 32-bit, so
a
should be converted to a 32-bit unsigned type as well — which is UInteger.