Arithmetic Assignment Operators
These operators perform arithmetic operations and then assign the result to the left-hand operand. Solidity supports the following arithmetic assignment operators:
Operator | Denotation | Description |
---|---|---|
Addition Assignment | += | Adds the right-hand operand to the left-hand operand and assigns the result to the left-hand operand. |
Subtraction Assignment | -= | Subtracts the right-hand operand from the left-hand operand and assigns the result to the left-hand operand. |
Multiplication Assignment | *= | Multiplies the right-hand operand by the left-hand operand and assigns the result to the left-hand operand. |
Division Assignment | /= | Divides the left-hand operand by the right-hand operand and assigns the result to the left-hand operand. |
Modulus Assignment | %= | Calculates the modulus (remainder) after dividing the left-hand operand by the right-hand operand and assigns the result to the left-hand operand. |
Example:
uint a = 10;
a += 5; // a = a + 5 => a = 15
a -= 3; // a = a – 3 => a = 12
a *= 2; // a = a * 2 => a = 24
a /= 4; // a = a / 4 => a = 6
a %= 5; // a = a % 5 => a = 1
Note: Solidity does not support increment (++) and decrement (–) operators, which are common in other programming languages.
Below is the Solidity program to implement Arithmetic Assignment Operators:
Solidity
// Solidity program to implement // Arithmetic Assignment Operators // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract AssignmentOperators { function arithmeticAssignment() public pure returns (uint, uint, uint, uint, uint) { // Addition assignment (+=) uint a = 5; // a is now equal to 8 (5 + 3) a += 3; // Subtraction assignment (-=) uint b = 10; // b is now equal to 6 (10 - 4) b -= 4; // Multiplication assignment (*=) uint c = 6; // c is now equal to 12 (6 * 2) c *= 2; // Division assignment (/=) uint d = 25; // d is now equal to 5 (25 / 5) d /= 5; // Modulus assignment (%=) uint e = 27; // e is now equal to 7 (27 % 10) e %= 10; return (a, b, c, d, e); } } |
Output:
Solidity – Assignment Operators
Solidity is a high-level, statically-typed programming language for Ethereum smart contracts. Python, JavaScript, and C++ impact it. Solidity has several variable and value assignment operators. Solidity supports the following types of operators:
- Simple Assignment Operator.
- Arithmetic Assignment Operator.
- Bitwise Assignment Operator.