- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbinary_operation.py
More file actions
Latest commit
27 lines (23 loc) · 795 Bytes
/
Copy pathbinary_operation.py
File metadata and controls
27 lines (23 loc) · 795 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
defaddition_binary_number(number1: str, number2: str) ->str:
"""
Add two binary numbers which are represented as strings.
:param number1: number string 1
:param number2: number string 2
:return: sum of the two binary numbers
"""
result= []
carry=0
number1=number1[::-1]
number2=number2[::-1]
number1_length=len(number1)
number2_length=len(number2)
foriinrange(max(number1_length, number2_length)):
digit1=int(number1[i]) ifi<number1_lengthelse0
digit2=int(number2[i]) ifi<number2_lengthelse0
digit=digit1+digit2+carry
result.append(str(digit%2))
carry=digit//2
ifcarry:
result.append(str(carry))
result.reverse()
return''.join(result)