在C++中,我有这样的代码。
static UInt32 rol(UInt32 value, UInt32 bits)
{
bits &= 31;
return ((value << bits) | (value >> (32 - bits)));
}
static UInt32 ror(UInt32 value, UInt32 bits)
{
bits &= 31;
return ((value >> bits) | (value << (32 - bits)));
}
在C#中应该是这个样子的。只有一个问题
错误2 运算符“>>”无法应用于类型为“uint”的操作数和类型为“uint”的操作数
错误3 运算符“>>”无法应用于类型为“uint”的操作数和类型为“uint”的操作数
错误1 运算符“<<”无法应用于类型为“uint”的操作数和类型为“uint”的操作数
错误4 运算符“<<”无法应用于类型为“uint”的操作数和类型为“uint”的操作数
时,此代码将通过32位移动32b
value`。希望在C#中这是合法的。 - Peter Cordes