a = "1000111000"
b = "1000000001"
c = int(a, 2) | int(b, 2)
print('{0:b}'.format(c))
Résultat :
1000111001
Analyse :
L'
opérateur| lui-même peut effectuer des opérations au niveau du bit, il suffit donc de savoir comment convertir la chaîne en un entier à 2 charges et comment convertir le terminé. 🎜> Le résultat de l'entier peut être représenté par chaîne à 2 portées .
int(a, 2) peut convertir un entier ou une chaîne a en un entier binaire (pour être précis, laissez a utiliser 2進位 comme base pour la conversion d'entier), puis utilisez | pour effectuer une opération au niveau du bit ou , Enfin, la méthode '{0:b}'.format(c) nous permet de formater la valeur au format binaire.
Autres pensées :
Fait intéressant, si nous le faisons petit à petit, en utilisant la compréhension du générateur ainsi que d'autres astuces de style de programmation fonctionnelle, nous pouvons accomplir la tâche en une seule ligne :
a = "1000111000"
b = "1000000001"
c = ''.join(str(int(ba) | int(bb)) for ba, bb in zip(a, b))
print(c)
Code :
Résultat :
Analyse :
L'opérateur
|
lui-même peut effectuer des opérations au niveau du bit, il suffit donc de savoir comment convertir la chaîne en un entier à 2 charges et comment convertir le terminé. 🎜> Le résultat de l'entier peut être représenté par chaîne à 2 portées .int(a, 2)
peut convertir un entier ou une chaînea
en un entier binaire (pour être précis, laisseza
utiliser2進位
comme base pour la conversion d'entier), puis utilisez|
pour effectuer une opération au niveau du bit ou , Enfin, la méthode'{0:b}'.format(c)
nous permet de formater la valeur au format binaire.Autres pensées :
Fait intéressant, si nous le faisons petit à petit, en utilisant la compréhension du générateur ainsi que d'autres astuces de style de programmation fonctionnelle, nous pouvons accomplir la tâche en une seule ligne :