誰かがビット単位のバイナリAND演算子(&)の目的とその使用方法を説明できますか?関数を作成するさまざまな方法を検討していて、isprime
これに出くわしました。
def isprime(n):
# make sure n is a positive integer
n = abs(int(n))
# 0 and 1 are not primes
if n < 2:
return False
# 2 is the only even prime number
if n == 2:
return True
# all other even numbers are not primes
if not n & 1:
return False
# range starts with 3 and only needs to go up the squareroot of n
# for all odd numbers (counts by 2's)
for x in range(3, int(n**0.5)+1, 2):
if n % x == 0:
return False
return True
Pythonのビット演算子の例も調べましたが、理解できませんでした。