Arithmetic Operators
The Privilege Management for Unix and Linux Security Policy Scripting Language supports the arithmetic operators shown in the following table.
Operator | Description |
++ | Prefix autoincrement |
-- | Prefix autodecrement |
++ | Postfix autoincrement |
-- | Postfix autodecrement |
* | Multiplication |
/ | Division |
% | Modulus |
+ | Addition |
- | Subtraction |
+= | Addition self assignment |
-= | Subtraction self assignment |
*= | Multiplication self assignment |
/= | Division self assignment |
%= | Modulus self assignment |
The subtraction, addition, multiplication and division operators perform arithmetic operations. The default evaluation order for arithmetic operators is:
- Multiplication, division, and modulus division, left to right
- Addition and subtraction, left to right
result = 6 * 4 / 2 - 4 + 2;
result contains the integer value 10.
Prefix Autoincrement Operator
The prefix autoincrement operator (++) adds one to a variable and returns the result.
a = 3; b = ++a;
In this example, both a and b are equal to 4.
Prefix Autodecrement Operator
The prefix autodecrement operator (--) subtracts one from a variable and returns the result.
a = 3; b = --a;
In this example, both a and b are equal to 2.
Postfix Autoincrement Operator
The postfix autoincrement operator (++) returns the value of a variable and adds one to the variable.
a = 3; b = a++;
In this example, a is equal to 4 and b is equal to 3.
Postfix Autodecrement Operator
The postfix autodecrement operator (--) returns the value of a variable and subtracts one from the variable.
a = 3; b = a--;
In this example, a is equal to 2 and b is equal to 3.
Addition Operator
The addition operator ( + ) adds two numbers.
result = 5 + 3;
Subtraction Operator
The subtraction operator ( - ) subtracts two numbers.
result = 5 - 3;
Multiplication Operator
The multiplication operator ( * ) multiplies two numbers.
result = 5 * 3;
Division Operator
The division operator ( / ) divides two numbers.
result = 5 / 3;
Modulus Operator
The modulus operator ( % ) returns the remainder of integer division.
result = 5 % 3;
In this example, result contains the integer value 2. Dividing 5 by 3 yields a result of 1 and a remainder of 2. The reminder portion of the answer, in this case 2, becomes the result of the modulus division operation.
Addition Self-assignment Operator
The addition self-assignment operator (+=) adds a value to a variable and stores the result in the variable.
a += 3;
In this example, 3 is added to a and the result is stored in a.
Subtraction Self-assignment Operator
The subtraction self-assignment operator (-=) subtracts a value from a variable and stores the result in the variable.
a -= 4;
In this example, 4 is subtracted from a and the result is stored in a.
Multiplication Self-assignment Operator
The multiplication self-assignment operator (*=) multiplies a variable by a value and stores the result in the variable.
a *= 5;
In this example, a is multiplied by 5 and the result is stored in a.
Division Self-assignment Operator
The division self-assignment operator (/=) divides a variable by a value and stores the result in the variable.
a /= 6;
In this example, a is divided by 6 and the result is stored in a.
Modulus Self-assignment Operator
The modulus self-assignment operator (%=) divides a variable by a value and stores the modulus in the variable.
a %= 5;
In this example, a is divided by 5 and the remainder is stored in a.