## Operator

In terms of programming an operator is a symbol which performs some specific task design by compiler. An Operator works on some operand which may be single or more than one. Operators, which work on single operand known as unary operator otherwise binary.
5+5 (five is operand and + is binary operator)
Following types of operators −
• Arithmetic Operators
• Relational Operators
• Logical Operators
• Bitwise Operators
• Misc Operators

# Arithmetic Operators

## Binary operator

An Operator takes two or more than two argument. Following table has list of available binary operator in c language.

 Operator Name Description Example Output + Addition Add two number 5+5 10 - Subtraction Subtract a number 10-5 5 * Multiplication Multiply by some number 5*6 30 / Division Divide a number 10/2 5 = Assignment Assign right hand side value  to left hand A=b % Mod Return remainder by diving a  number 17%3 2

## Operator Priority

Operator priority tells the compiler that which operator solve first if more than one operator exist in one expression.

# Unary Operator

A Unary operator takes only one operand.

 Operator Name Description Example Var_++ Postfix Increment Increment By One If appear in any expression then First solve it with old value then increment A++ ++_Var Prefix Increment Increment By One If appear in any expression then first increment Variable value then solve expression ++A a-- Postfix Decrement Decrement By One If appear in any expression then First solve it with old value then Decrement A-- --a Prefix Decrement Decrement By One If appear in any expression then first Decrement Variable value then solve expression --A

If increment or decrement operator is not being part of any expression or equation then type is not important it will increase and decrement.
void main()
{
int a,b=10;
a=++b + ++b + ++b;
printf("\n\tA=%d\n\tB=%d",a,b);
}

Output :
A=39
B=13

# Assignment operator

An assignment operator transfer right hand side data after = to left hand side variable in overwrite mode. Overwrite means if left hand variable has some value then it will lost.

A=10;
B=A+10;

If any expression right hand side then first it use to solve and assign result to left side variable. In this example b will initialize by 20.

A=B=C=10;

Multiple assignments are allowed so all variable A, B and C will assign by 10;

# Bitwise operator

A Bitwise operator works on a single bit not to entire byte.  Bitwise operators are similar to the logical operators, except that they work on a smaller scale.
• ·         Working on bit in constraints of byte
• ·         Increase speed synchronous to process clock pulse
• ·         High level programming on bits
• ·         Implement compression
• ·         Encoding

A=5
B=6

 Operator Description Example & Return true if both operand is 1 other wise 0 (A & B) = 4 i.e., 101 110 100 ∣ Return true if any operand is 1 otherwise 0 in case of all operand is 0 (A ∣ B) = 7 i.e 101 110 111 ^ Return true if operand is opposite otherwise 0. (A ^ B) = 3 i.e., 101 110 010 ~ Binary Ones Complement Operator is unary and has the effect of 'flipping' bits. (~A ) = -6 << Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. double the value of every move A << 2 = 20 i.e., >> Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand. half the value of every move A >> 2 = 15 i.e., 0000 1111

void main()
{
int a=5,b=6;
clrscr();
printf("\n\tBitwise and for %d & %d is %d",a,b,a&b);
printf("\n\tBitwise or for %d | %d is %d",a,b,a|b);
printf("\n\tBitwise xor for %d ^ %d is %d",a,b,a^b);
printf("\n\tComplement of %d is %d",a,~a);
printf("\n\tLeft Shift of %d by 1 is %d",a,a>>1);
printf("\n\tRight Shift of %d by 1 is %d",a,a<<1);
getch();

}