# Binary Operators C Programming

Binary operators act upon a two operands to produce a new value. Such, operators can be classified into different categories.

Syntax for binary operator is:

``````
operand1    operator    operand2
``````

## Arithmetic Operators

Arithmetic operators are the operators used to perform the arithmetic operations like addition, subtraction, multiplication, division, and modulo operation.

Different arithmetic operators available in C programming language are tabulated below:

SymbolMeaningExamples
+Additiona=23 and b=10 then a+b is equal to 33.
-Subtractiona=23 and b=10 then a-b is equal to 13.
*Multiplicationa=23 and b=10 then a*b is equal to 230.
/Divisiona=23 and b=10 then a/b is equal to 2 (In Integer division) and 2.3 (In Real Division)
%Remainder or Moduloa=23 and b=10 then a%b is equal to 3.
Note: Both operand should be integer while using % operator.

Arithmetic operators (except %) can be used in 3 modes:

Integer mode: where both the operands are integer.

Real mode: where both the operands are real.

Mixed mode: where one operand is integer and second operator is real.

Note : Result is always a floating point number for real mode and mixed mode. For integer mode, result is always an integer number.

## Relational Operators

These operators are very helpful for making decisions. Depending upon the condition, it returns either 0 or 1. When the condition with these operators is true, 1 is returned. If the condition is false, it returns 0.

Different relational operators available in C programming language are tabulated with examples:

SymbolMeaningExamples
<Less Thana=2 and b=3 then a
>Greater Thana=2 and b=2 then a>b gives False (0) similarly b> a gives False (0)
<= Less Than or Equal Toa=2 and b=2 then a <= b gives True(1)
>= Greater Than or Equal To a=3 and b=4 then a>= b gives False(0)
==Equal Toa=9 and b=9 then a==b gives True(1) similarly if a=8 and b=9 then a==b gives False (0)
!=Not Equal Toa=9 and b=9 then a!=b gives False(0) similarly if a=8 and b=9 then a!=b gives True (1)

## Logical Operators

These operators are generally used along with relation operators. Like relational operators, output of these operators is either True (1) or False (0).

Different logical operators available in C programming language are tabulated with examples:

SymbolMeaningExamples
&& Logical AND
Rule:
False&&False = False
False&&True = False
True&&False = False
True&&True = True
(2>3 && 4>3) Evaluates to False && True which then evaluates to False (0).
|| Logical OR
Rule:
False&&False = False
False&&True = True
True&&False = True
True&&True = True
(2>3 || 4>3) Evaluates to False || True which then evaluates to True (1).
! Logical NOT
Rule:
! (False) = True
! (True) = False
Note: This is Unary Operator
!(2>3) Evaluates to !(False) which then evaluates to True (1).

## Assignment Operators

Assignment operators are used when the value is to be assigned to an identifier, a variable. With execution of assignment operators, value at the right is assigned to the left. The destination variable loses the old value; i.e. old value is over ridden with the new value. If previous value is also required; it should be saved in some other variables.

Different Assignment operators available in C programming language are tabulated with examples:

SymbolMeaningExamples
=Assignmentx=2, here value 2 is assigned to x.
+= Addition and Assignmenta += b is equivalent to a = a+b
-= Subtraction and Assignment a - = b is equivalent to a = a-b
*= Multiplication and Assignmenta *= b is equivalent to a = a*b
/= Division and Assignmenta /= b is equivalent to a = a/b
%= Remainder and Assignmenta %= b is equivalent to a = a%b

## Bitwise Operators

The bitwise operators are the bit manipulation operators. They can manipulate individual bits.

Different bitwise operators available in C programming language are tabulated with examples:

SymbolMeaningExamples
~Bitwise Complement
Note: This is Unary Operator
If a=01011 then ~a gives 10100
&Bitwise ANDIf a = 1001 and b=1111 then a&b gives 1001
|Bitwise ORIf a = 1001 and b=1111 then a|b gives 1111
^Bitwise XORIf a = 1001 and b=1111 then a^b gives 0110
<<Bitwise Shift LeftIf a=1010 and b=1 then a <
>>Bitwise Shift RightIf a=1111 and b=2 then a>>b gives 0011 (Right shifted by 2 and two 0’s are inserted at the beginning)