w3resource

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:

Python Exercises: Add two positive integers without using the '+' operator.

Flowchart:

Flowchart: Python - Add two positive integers without using the '+' operator

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.



Follow us on Facebook and Twitter for latest update.