キーボードから符号なし整数とシフト数を入力し,指定した数だけ右へ循環シフト(ローテーション)した結果を表示するプログラムを作成せよ。という問題が宿題で出されたのですが全く分からなくて困っています。
お力を貸していただかないでしょうか?
よろしくお願いします
Re:よろしくお願いします
仮に8ビットだとした場合。
また、右にローテートとは下位にシフトするとした場合。
元の数をaとすると、
aと0x01との論理積をとる。これをcとする。
cを左に7ビットシフトし、これをcとする。
aを右に1ビットシフトし、これをaとする。
aとcの論理和をとる。
また、右にローテートとは下位にシフトするとした場合。
元の数をaとすると、
aと0x01との論理積をとる。これをcとする。
cを左に7ビットシフトし、これをcとする。
aを右に1ビットシフトし、これをaとする。
aとcの論理和をとる。