Как перевести оператор >>> в JavaScript в VB.NET? - PullRequest
0 голосов
/ 29 сентября 2010

Я делаю преобразование кода из 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 Ответ

1 голос
/ 29 сентября 2010

Вы должны использовать CUInt вместо CUShort.

CUShort дает UShort размером всего 16 бит. В JavaScript все битовые операции выполняются в 32-битной версии, поэтому a также следует преобразовать в 32-битный тип без знака - UInteger.

...