111,129
社区成员
发帖
与我相关
我的任务
分享byte RLShift(byte input, int num)
{
return (byte)(input << num | input >> (sizeof(byte) - num));
}
byte RRShift(byte input, int num)
{
return (byte)(input >> num | input << (sizeof(byte) - num));
}
ushort RLShift(ushort input, int num)
{
return (ushort)(input << num | input >> (sizeof(ushort) - num));
}
ushort RRShift(ushort input, int num)
{
return (ushort)(input >> num | input << (sizeof(ushort) - num));
}
必须是无符号的,其他长度以此类推
private void Right(int value)
{
int m = value << 15;
m = m & 0x8000;
int n = value >> 1;
n = n | m;
MessageBox.Show(n.ToString());
}
private void Left(int value)
{
int m = value >> 15;
m = m & 1;
int n = value << 1;
n = n | m;
MessageBox.Show(n.ToString());
}