问题描述
如果我有 2 个二进制形式的数字作为字符串,并且我想将它们相加,我将从最右边开始逐位添加.所以 001 + 010 = 011但是假设我必须做 001+001,我应该如何创建代码来弄清楚如何接管响应?
If I have 2 numbers in binary form as a string, and I want to add them I will do it digit by digit, from the right most end. So 001 + 010 = 011 But suppose I have to do 001+001, how should I create a code to figure out how to take carry over responses?
推荐答案
bin 和 int 在这里非常有用:
bin and int are very useful here:
a = '001' b = '011' c = bin(int(a,2) + int(b,2)) # 0b100
int 允许您在从字符串(在本例中为两个)转换时指定第一个参数的基数,而 bin 将数字转换回二进制字符串.
int allows you to specify what base the first argument is in when converting from a string (in this case two), and bin converts a number back to a binary string.