2016-05-16 21 views

答えて

1

と同じです。 intの値が11ビット左に回転します。上位11ビットは、それが迅速にランダム性を失うことなく、数のビットを並べ替えるようにハッシュに使用される一般的なパターンである21

によって下方に移動しながら

ボトム21ビットは11を移動させます。

Source for Integer.rotateLeft

右指定したビット数で指定されたint値の2の補数バイナリ表現を回転させることにより得られた値を返します。

負の距離を持つ右回転は、左回転と同じです:rotateRight(val、-distance(val、-distance )== rotateLeft(val、distance)。また、32の倍数による回転はノーオペレーションであることに注意してください。したがって、距離が負であっても、回転距離の最後の5ビットを除くすべてのビットは無視できます。rotateRight(val、distance)== rotateRight(val、distance & 0x1F)。

戻り値: 指定されたint値の2の補数バイナリ表現を指定されたビット数だけ右に回転させた値。

public static int rotateRight(int i, int distance) { 
    return (i >>> distance) | (i << -distance); 
} 
関連する問題