我不明白循环转变。
我搜索并找到了下面的方法,但输入的值没有给出预期的结果:
public static uint RotateLeft(this uint value, int count)
{
return (value << count) | (value >> (32 - count));
}
在211
次转换时,输入158
应该3
。
答案 0 :(得分:4)
问题是您的预期结果是基于字节的,而您的代码是基于32位的。对于字节,请尝试:
public static byte RotateLeft(byte value, int count)
{
return (byte)((value << count) | (value >> (8 - count)));
}