# Binary Operators in 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:

Symbol | Meaning | Examples |
---|---|---|

+ | Addition | a=23 and b=10 then a+b is equal to 33. |

- | Subtraction | a=23 and b=10 then a-b is equal to 13. |

* | Multiplication | a=23 and b=10 then a*b is equal to 230. |

/ | Division | a=23 and b=10 then a/b is equal to 2 (In Integer division) and 2.3 (In Real Division) |

% | Remainder or Modulo | a=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:

Symbol | Meaning | Examples |
---|---|---|

< | Less Than | a=2 and b=3 then a |

> | Greater Than | a=2 and b=2 then a>b gives False (0) similarly b> a gives False (0) |

<= | Less Than or Equal To | a=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 To | a=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 To | a=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:

Symbol | Meaning | Examples |
---|---|---|

&& | 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:

Symbol | Meaning | Examples |
---|---|---|

= | Assignment | x=2, here value 2 is assigned to x. |

+= | Addition and Assignment | a += b is equivalent to a = a+b |

-= | Subtraction and Assignment | a - = b is equivalent to a = a-b |

*= | Multiplication and Assignment | a *= b is equivalent to a = a*b |

/= | Division and Assignment | a /= b is equivalent to a = a/b |

%= | Remainder and Assignment | a %= 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:

Symbol | Meaning | Examples |
---|---|---|

~ | Bitwise ComplementNote: This is Unary Operator | If a=01011 then ~a gives 10100 |

& | Bitwise AND | If a = 1001 and b=1111 then a&b gives 1001 |

| | Bitwise OR | If a = 1001 and b=1111 then a|b gives 1111 |

^ | Bitwise XOR | If a = 1001 and b=1111 then a^b gives 0110 |

<< | Bitwise Shift Left | If a=1010 and b=1 then a < |

>> | Bitwise Shift Right | If a=1111 and b=2 then a>>b gives 0011 (Right shifted by 2 and two 0’s are inserted at the beginning) |