-5
我不确定,特别是最后一行的功能。我在Python书中看到它。以下Python代码有什么作用?
from random import randint
random_bits = 0
for i in range(64):
if randint(0, 1):
random_bits |= 1 << i
我不确定,特别是最后一行的功能。我在Python书中看到它。以下Python代码有什么作用?
from random import randint
random_bits = 0
for i in range(64):
if randint(0, 1):
random_bits |= 1 << i
您这里有2个特殊运营商:
x << y
其转移二进制的x
通过y
地方x |= y
里面做代表binaric或x
和y
之间和结果存储在x
有了这些知识,你可以看到你的代码产生一个随机的64位数字。在每次迭代时,它将以50%的概率打开i'th
位。
从文档:
X < <Ÿ 返回与比特×转移到由y名额留给(新位的右手边是零)。这是同乘以×2 **Ÿ
我觉得剩下的应该是从变量的命名琐碎
您是否尝试过运行它?阅读有关这些功能和操作员的文档?你究竟明白了什么?只要阅读所涉及事物的名称,就可以让你对发生的事情有一个合理的理解;它产生64个随机比特。 – jonrsharpe
我发现很难想象这本书提供了这个代码没有任何解释或任何目的声明。 –
http://stackoverflow.com/questions/14295469/what-does-mean-pipe-equal-operator –