下面的伪代码如何翻译成Python?在
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
我不确定以下项目:IntNoise
调用中的32-bit integer: x
参数;<<
和{}。在
此函数是来自此网页的随机数生成器:Perlin Noise。在
Tags:
作为一个学习练习-很好,但是一旦你理解了它,只需将}中的函数用于各种伪随机生成器。在
os.urandom(4)
用于随机数,或者将{一行行一行,更改如下:
function IntNoise(32-bit integer: x)
我们不需要声明参数类型,也不希望使用CamelCase,因此第一行是:
下一行唯一的错误是分号。除去它,我们得到:
^{pr2}$x将左移13位,然后结果将按位异或-ed,起始值为x。
在下一行,再次没有分号,
7ffffff
需要加上0x
前缀,因此:总之,这使得:
“32位整数”部分没有,除非使用
numpy.int32
。当它有意义时,只需将值屏蔽为32位。在“<;<;”代表。在
需要转换“&7fffffff”。“&;”表示,但十六进制文本需要一个位:
0x7fffffff
。在相关问题 更多 >
编程相关推荐