そこで、パーリンとシンプレックス ノイズに関する多くのコードと説明が記載された、この便利な Web サイトを見つけました。ただし、コードは別の言語で記述されています。ほとんどをJava用に書き直すことができましたが、1.わからない、2.Javaでの書き方がわからないという機能が1つあります。コードは次のとおりです。
function IntNoise(32-bit integer: x)
x = (x<<13) ^ x;
return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);
end IntNoise function
繰り返しますが、それがどの言語で書かれているかはわかりません。しかし、著者は、この関数が -1 から 1 の間の乱数を返すと述べています。& 記号が正確に何をするのか、誰か説明できますか? そして、一見乱数のように見えるものがたくさんあるのはなぜですか? これをJavaに変換する簡単な方法はありますか?