我不熟悉位运算符。我有这些代码:
var value= -2145643504;
value = (value << 1) | (value >> 27);
//result: -16
在C#和JavaScript中都会得到相同的结果-16,但是JavaScript中还有一个运算符>>>,而C#没有。JavaScript代码如下:
var value= -2145643504;
value = (value << 1) | (value >>> 27);
//result: 3680304 //wanted result in C#
有没有用C#的解决方案?
value = (value << 1) | (int)((uint)value >> 27);
- Roman