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#中获得它吗?
在JavaScript中,你正在做一个无符号右移赋值用>>>
.
int x = -100;
int y = (int)((uint)x >> 2);
Console.WriteLine(y);
Run Code Online (Sandbox Code Playgroud)