Javaによる循環シフトの実現
MD 5アルゴリズムを作る時に循環シフトに出会って、ネット上で資料を書くことを探して、書く穴があることを発見しました.ここで訂正してまとめます.
0 xD 6485 F 0 Fは循環して7ビット左に移動し、正解:0 x 242 F 87 EB.コードは次のとおりです.
ここでの式は、1つのバイナリにnビットの数値サイクル左シフト(サイクル右シフト)mビットに対して、この数値を左シフト(
符号なし右シフト)mビットの結果とこの数値
符号なし右シフト(左シフト)
n-mビットの結果進行
またはアクション.
ネット上の答えの右シフトは記号の右シフト(>>>)があり、ここでは実験を通じて、正しいのは記号のない右シフト(>>>>>)であることを証明した.
0 xD 6485 F 0 Fは循環して7ビット左に移動し、正解:0 x 242 F 87 EB.コードは次のとおりです.
public class Test {
public static void main(String[] args) {
int a=0xD6485F0F;// 2 32
// 7
int temp=a<<7|a>>>(32-7);//
System.out.println(Integer.toHexString(temp));// 0x242F87EB
}
}
ここでの式は、1つのバイナリにnビットの数値サイクル左シフト(サイクル右シフト)mビットに対して、この数値を左シフト(
符号なし右シフト)mビットの結果とこの数値
符号なし右シフト(左シフト)
n-mビットの結果進行
またはアクション.
ネット上の答えの右シフトは記号の右シフト(>>>)があり、ここでは実験を通じて、正しいのは記号のない右シフト(>>>>>)であることを証明した.