Un mémo pour moi. Si vous en avez envie, réécrivez-le correctement.
Parfois, vous voulez qu'un nombre décimal x soit un nombre binaire à n chiffres. (Principalement lors de la recherche de tous les bits) Vous pouvez utiliser le format à ce moment-là, mais je ne me souviens pas comment l'écrire, alors Notez comment l'utiliser souvent.
Explication du code en cas d'oubli.
Le nombre binaire de x avec bin (x >> i)
est décalé d'un chiffre.
Je ne veux que le dernier chiffre du nombre décalé, donc je calcule le reste après avoir divisé par 2.
Afin de calculer le reste divisé par 2, il est nécessaire de renvoyer le bit décalé à int.
Comme ʻint (bin, 2) `, le nombre binaire est reconverti en nombre décimal.
Si vous changez l’ordre d’attribution à «x_array_bin», vous pouvez le faire correctement »[0,0,0,1,1]«,
Puisqu'il n'est pas si pertinent dans la recherche de bits complet, il est laissé tel quel.
x = 3
n = 5
x_array_bin = [0 for _ in range(n)]
for i in range(n):
x_array_bin[i] = int(bin(x >> i),2)%2
print(x_array_bin)
#[1, 1, 0, 0, 0]
Recommended Posts