Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要在 C++ 中围绕旋转做一个 3 位左端。
到目前为止,我有:
A[i] = (A[i] << 3)|(A[i] >> 5);
A 是一个无符号字符数组。
这个对吗?如果不是,我该如何解决?还有什么是最好的测试方法,看看这是否正确?
谢谢
在我看来很好。
如果您真的想测试它,请手动计算出一堆输入和输出,并检查您的程序是否生成它们。
或者设计另一种您绝对确定会产生结果的方法(例如,将 unsigned char 转换为二进制字符串、旋转字符串、转换回 unsigned char)并将两者与所有 256 个可能的输入进行比较。