在C ++中验证3位端到端旋转

时间:2013-07-21 22:41:46

标签: c++ c rotation

我需要在C ++中围绕旋转执行3位左端。

到目前为止,我有:

A[i] = (A[i] << 3)|(A[i] >> 5);

A是unsigned char数组。

这是对的吗?如果没有,我该如何解决?另外,测试和查看这是否正确的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:1)

对我来说很好。

如果你真的想测试它,可以手工计算出一堆输入和输出,并检查你的程序是否产生它们。

或设计另一种方法,你绝对肯定会产生结果(例如将无符号字符转换为二进制字符串,旋转字符串,转换回无符号字符)并将两者与所有256种字符进行比较输入。