Arithmetic Operators
Arithmetic operators are used to perform arithmetic operation on numbers.
Operator

Description


+

Addition

Add the two operands.

–

Subtraction

Subtract the second operand from the first operand.

*

Multiplication

Multiply the two operands.

/

Division

Divide the first operand by the second operand.

%

Modulus

Modulo operation.

Example1: Addition Operator
#include "systemc.h" int sc_main (int argc, char* argv[]) { int a = 10; int b = 20; int c; //addition operator, c = a + b; cout <<"Value of c = " << c << endl; return 0;// Terminate simulation }
Simulator Output:
Value of c = 30
Increment and Decrement
Operator

Description


++

Increment

Increment the operand by one and store the result in the operand.

—

Decrement

Decrement the operand by one and store the result in the operand.

Pre Increment and Pre Decrement:
In Pre Increment/Decrement, operator is specified before the operand.
The pre increment/decrement performs the operation first and returns the new value.
Post Increment and Post Decrement:
In Post Increment/Decrement, operator is specified after the operand.
The post increment/decrement returns the old value while the new value of the operation is stored in the operand.
Example1: PreIncrement
#include "systemc.h" int sc_main (int argc, char* argv[]) { int a = 5; //preincrement cout <<"Value of a = " << ++a << endl; return 0;// Terminate simulation }
Example2: PostIncrement
#include "systemc.h" int sc_main (int argc, char* argv[]) { int a = 5; cout <<"Value of a = " << a++ << endl; return 0;// Terminate simulation }
Bitwise Operators
Operator

Description


&

AND operator

Calculate the bitwise AND of the two operands.



OR operator

Calculate the bitwise OR of the two operands.

^

XOR operator

Calculate the bitwise XOR of the two operands.

Example1: Bitwise AND Operator
#include "systemc.h" int sc_main (int argc, char* argv[]) { int a = 1; int b = 1; int c; //bitwise AND operator, c = a & b; cout <<"Value of c = " << c << endl; return 0;// Terminate simulation }
Simulator Output:
Value of c = 1
Arithmetic and Bitwise assignment
Operator

Description

+=

Add the two operands; assign the result to the first operand.

=

Subtract the second operand from the first operand; assign the result to the first operand.

*=

Multiply the two operands; assign the result to the first operand.

/=

Divide the first operand by the second operand; assign the result to the first operand.

%=

Modulo operation; assign the result to the first operand.

&=

Calculate the bitwise AND of the two operands; assign the result to the first operand.

=

Calculate the bitwise OR of the two operands; assign the result to the first operand.

^=

Calculate the bitwise XOR of the two operands; assign the result to the first operand.

Example1: += Operator
#include "systemc.h" int sc_main (int argc, char* argv[]) { int a = 10; int b = 20; //+= operator, Arithmetic and bitwise assignment a += b; cout <<"Value of a = " << a << endl; return 0;// Terminate simulation }
Simulator Output:
Value of a = 30
Execute the above code on
Example2: &= Operator
#include "systemc.h" int sc_main (int argc, char* argv[]) { int a = 1; int b = 0; //&= operator, Arithmetic and bitwise assignment a &= b; cout <<"Value of a = " << a << endl; return 0;// Terminate simulation }
Simulator Output:
Value of a = 0
Execute the above code on
Equality and Relation
Operator

Description


==

equal

Return true if the operands are equal.

!=

not equal

Return true if the operands are not equal.

<

less than

Return true if the first operand is less than the second operand.

<=

less than or equal to

Return true if the first operand is less than or equal to the second operand.

>

greater than

Return true if the first operand is greater than the second operand.

>=

greater than or equal to

Return true if the first operand is greater than or equal to the second operand.

Example1: == Operator
#include "systemc.h" int sc_main (int argc, char* argv[]) { int a = 10; int b = 20; // == operator, Equality and relation if(a == b) cout <<"a is equals to b"<< endl; else cout <<"a is not equals to b"<< endl; return 0;// Terminate simulation }
Simulator Output:
a is not equals to b
Execute the above code on