我该如何翻译>>> JavaScript 中的运算符到 VB.NET?

发布于 2024-09-25 14:45:03 字数 492 浏览 2 评论 0原文

我正在将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海拔太高太耀眼 2024-10-02 14:45:03

您应该使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文