Python: Add two positive integers without using the '+' operator
Python Basic - 1: Exercise-14 with Solution
Write a Python program to add two positive integers without using the '+' operator.
Note: Use bitwise operations to add two numbers.
Sample Solution:
Python Code:
# Define a function 'add_without_plus_operator' that performs addition without using the '+' operator.
def add_without_plus_operator(a, b):
# Continue the loop until the carry (b) becomes zero.
while b != 0:
# Calculate the bitwise AND of 'a' and 'b'.
data = a & b
# XOR 'a' and 'b' to get the sum without considering carry.
a = a ^ b
# Left shift the carry by 1 position.
b = data << 1
# Return the final sum.
return a
# Test the function with different inputs and print the results.
print(add_without_plus_operator(2, 10))
print(add_without_plus_operator(-20, 10))
print(add_without_plus_operator(-10, -20))
Sample Output:
12 -10 -30
Explanation:
The above Python code defines a function called "add_without_plus_operator()" that performs addition without using the '+' operator. It utilizes bitwise operations (AND, XOR, and left shift) to simulate addition. Here's a brief explanation:
- The function takes two integers 'a' and 'b' as input.
- It enters a loop that continues until the carry ('b') becomes zero.
- Within the loop:
- It calculates the bitwise AND of 'a' and 'b' and stores the result in 'data'.
- It XORs 'a' and 'b' to get the sum without considering the carry.
- It left-shifts the carry ('data') by 1 position.
- After the loop, the function returns the final sum ('a').
- The code then tests the function with different inputs and prints the results.
Visual Presentation:
Flowchart:
Python Code Editor :
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to get all possible two digit letter combinations from a digit (1 to 9) string.
Next: Write a Python program to check the priority of the four operators (+, -, *, /).
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://198.211.115.131/python-exercises/basic/python-basic-1-exercise-14.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics