import random
def nBits(n):
b1 = 1 << (n-1)
b2 = (1 << n) - 1
nr = random.randint(b1, b2)
print(nr, format(nr, 'b'))
import random, time
def fel(n):
nr = random.getrandbits(n)
st = time.time()
res = HammingW1(nr)
fs = time.time()
print (res, fs - st)
st = time.time()
res = HammingW2(nr)
fs = time.time()
print (res, fs - st)
def HammingW1(nr):
db = 0
while nr:
db += (nr & 1)
nr >>= 1
return db
def HammingW2(nr):
db = 0
while nr:
nr &= nr - 1
db += 1
return db
>>> from base64 import b64encode, b64decode
>>> b64encode('Sapientia'.encode())
b'U2FwaWVudGlh'
>>> b64encode('Sap'.encode())
b'U2Fw'
>>> b64encode('Sapi'.encode())
b'U2FwaQ=='
>>> b64encode('műszaki'.encode())
b'bcWxc3pha2k='
>>> b64encode('műszaki'.encode()).decode()
'bcWxc3pha2k='
>>> b64decode('U2FwaWVudGlh')
b'Sapientia'
>>> b64decode('U2FwaWVudGlh').decode
'Sapientia'