Maison > Questions et réponses > le corps du texte
a="1000111000"
b="1000000001"
ab为字符串
a或b得到1000111001
除了一位一位的处理,有没有什么方便的方法
巴扎黑2017-04-17 17:46:08
Code :
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)