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 をバイナリ文字列に変換し、文字列を回転させ、unsigned char に戻す)、2 つを 256 の可能な入力すべてと比較します。