C#按位运算符vs Javascript按位运算符

Pho*_*ang 4 javascript c# bitwise-operators

我不熟悉按位运算符.我有这些代码:

var value= -2145643504;
value = (value << 1) | (value >> 27);
//result: -16
Run Code Online (Sandbox Code Playgroud)

C#和JavaScript都是相同的-16但是在JavaScript中还有另一个运算符>>> C#没有.JavaScript代码:

 var value= -2145643504;
 value = (value << 1) | (value >>> 27);
 //result: 3680304    //wanted result in C#
Run Code Online (Sandbox Code Playgroud)

有什么解决方案可以在C#中获得它吗?

abc*_*123 5

在JavaScript中,你正在做一个无符号右移赋值>>>.


要在C#中复制它,您需要使用,>>但必须首先转换int.

int x = -100;
int y = (int)((uint)x >> 2);
Console.WriteLine(y);
Run Code Online (Sandbox Code Playgroud)