EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Assignment Operators in C++

Home » Software Development » Software Development Tutorials » C ++ Programming Tutorial » Assignment Operators in C++

Assignment Operators in C++

Introduction to Assignment Operators in C++

Here, let us begin on knowing about assignment operators in C++. As the name already suggests, these operators help in assigning values to variables. We discuss these with respect to operators and operands. These operators help us in allocating a particular value to the operands.

The main simple assignment operator is ‘=’. We have to be sure that both the left and right sides of the operator must have the same data type. We have different levels of operators. Let us learn about each of those in C++. Assignment operators are a part of binary operators. Examples for these are: =, +=, -=, *=, /=, %=. Let us learn about each of these with examples.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Assignment Operators

There are three levels of operators.

  • Unary Operators
  • Binary Operators
  • Ternary Operators

Assignment operators are a part of binary operators.

Examples for these are: =, +=, -=, *=, /=, %=. Let us learn about each of these with examples.

Examples #1

Let us start with the first example with the ‘=’ operator as given below.

Code:

#include <iostream>
using namespace std;
int main()
{
int a,b;
char c;
float d;
a=10;
b=10.5;
c='R';
d=5.85;
cout<<" Value of a is: "<<a<<endl;
cout<<" Value of b is: "<<b<<endl;
cout<<" Value of c is: "<<c<<endl;
cout<<" Value of d is: "<<d<<endl;
}

Output:

Assignment Operators in C++ eg1

So, as an example, we can understand that the assignment operator ‘=’ is just going to assign values based on the data type using the operands and variables. Above, we can see that for the value b which is given data type of int, gives only the value till the decimal point. Only if we give the data type float like the variable d, the complete value gets displayed. So, we can say that data type also plays an important role in setting and displaying the values of different operands based on their values.

Popular Course in this category
C++ Training (4 Courses, 5 Projects, 4 Quizzes)4 Online Courses | 5 Hands-on Projects | 37+ Hours | Verifiable Certificate of Completion | Lifetime Access | 4 Quizzes with Solutions
4.5 (4,899 ratings)
Course Price

View Course

Related Courses
Java Training (40 Courses, 29 Projects, 4 Quizzes)C Programming Training (3 Courses, 5 Project)

Examples #2

In this example let us learn how ‘+=’ this operand works.

Code:

#include <iostream>
using namespace std;
int main()
{
int a,b,c;
a=10;
b=5;
c=5;
a+=6;
b+=20;
c=c+20;
cout<<" Value of a is: "<<a<<endl;
cout<<" Value of b is: "<<b<<endl;
cout<<" Value of c is: "<<c<<endl;
}

Output:

Assignment Operators in C++ eg2

As observed above, the example of how we got the value for variable c, is the process of how the operator ‘+=’ works. As per the operand, first, the left side operand is added to the left side operand and then the final value is being assigned to the left side operand. This is how ‘+=’ is used.

Examples #3

Now, let us learn on the operand ‘-=’. This is almost similar to that of ‘+=’. The above operand adds the value, but here it gets subtracted. Let us see an example below.

Code:

#include <iostream>
using namespace std;
int main()
{
int a,b,c;
a=10;
b=5;
c=5;
a-=6;
b-=20;
c=c-4;
cout<<" Value of a is: "<<a<<endl;
cout<<" Value of b is: "<<b<<endl;
cout<<" Value of c is: "<<c<<endl;
}

Output:

Assignment Operators in C++ eg3

Here also we have given example for variable ‘c’ on how actually the assignment of value is done. First, the left side operand value subtracts the right-hand value from it. In this process, there might be a negative value obtained.

Examples #4

Here let us have an example for the assignment operator *=, /= and %= together.

Code:

#include <iostream>
using namespace std;
int main()
{
int a,b,c;
a=10;
b=20;
c=25;
a*=2;
b/=5;
c%=10;
cout<<" Value of a is: "<<a<<endl;
cout<<" Value of b is: "<<b<<endl;
cout<<" Value of c is: "<<c<<endl;
}

Output:

Assignment Operators in C++ eg4

Now coming to the interpretation of the above example.

  • The value for variable ‘a’ is just by multiplying the right with left operands and value respectively.
  • The value of variable ‘b’ is obtained by dividing the left operand with the right side value. The output is the quotient obtained from that division.
  • The value for variable ‘c’ is obtained by division only. But here the output value is the remainder of the division. As already known the left operand is divided with the right side value/operand.

Examples #5

Now let us look at how operators &=, ^= and |= as shown below.

Code:

#include <iostream>
using namespace std;
int main()
{
int a,b,c;
a=5;
b=6;
c=7;
a&=3;
b^=3;
c|=3;
cout<<" Value of a is: "<<a<<endl;
cout<<" Value of b is: "<<b<<endl;
cout<<" Value of c is: "<<c<<endl;
}

Output:

 eg5

Did we expect this output? Let us now see how it is being calculated. We would start with ‘&=’ operation. Below is the table for the bitwise operator values.

P Q P^Q P&Q P|Q
0 0 0 0 0
0 1 1 0 1
1 1 0 1 1
1 0 1 0 1

We already know, ‘&’ is a bitwise and operator. So, for the output of variable, ‘a’ our calculation would be as follows. Initial value of ‘a’: 5 – 101 in Binary The right value is 3 – 011 in Binary. Now calculating the ‘&’ value between those two gives 001. This is number one (1) in normal decimals. That is how we get the output.

Examples #6

Here, let us learn about the operators <<= and >>= as given below.

Code:

#include <iostream>
using namespace std;
int main()
{
int a,b;
a=5;
b=5;
a>>=1;
b<<=1;
cout<<" Value of a is: "<<a<<endl;
cout<<" Value of b is: "<<b<<endl;
}

Output:

 eg6

So, let us now see how these operators are actually performing its operations. For the operator, >>=; which is called the right shift operator. First, the left operand values are converted to their binary representation. Here a: 5 – 101 in binary and the right-side value is 1 (001). Now from the binary values shift one digit to right and the empty place at the left is replaced by zero.

101 → _10 1→ 010 1 → 010 → 2 (in Decimal conversion)

For the same let me explain to you with example 5>>=2.

101 → _ _ 1 01 → 001 01→ 001→1 (in Decimal conversion)

Recommended Articles

This is a guide to Assignment Operators in C++. Here we discuss the basic concept and various examples of assignment operators in C++ respectively. You can also go through our other suggested articles to learn more –

  1. Ternary Operator in PHP
  2. Ternary Operator JavaScript
  3. Assignment Operators in C
  4. Regular Expressions in C++

C++ Training (4 Courses, 3 Projects, 4 Quizzes)

4 Online Courses

5 Hands-on Projects

37+ Hours

Verifiable Certificate of Completion

Lifetime Access

4 Quizzes with Solutions

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C plus plus Programming Tutorial
  • Operators
    • C++ Operators
    • Arithmetic Operators in C++
    • Assignment Operators in C++
    • Bitwise Operators in C++
    • Relational Operators in C++
    • Boolean Operators in C++
    • Unary Operators in C++
    • C++ Operator[]
    • Operator Precedence in C++
    • C++ operator=()
  • Basic
    • Introduction To C++
    • What is C++
    • Features of C++
    • Applications of C++
    • Best C++ Compiler
    • C++ Data Types
    • C++ Double
    • C++ unsigned int
    • User Defined Data Types in C++
    • Variables in C++
    • C++ Keywords
    • Pointers in C++
    • C++ Void Pointer
    • Function Pointer in C++
    • Iterator in C++
    • C++ Commands
    • Object in C++
    • C++ Literals
    • C++ Reference
    • C++ Undefined Reference
    • String in C++
    • C++ Programming Language (Basics)
    • C++ Identifiers
    • C++ Header Files
    • Type Casting in C++
    • C++ Formatter
  • Control Statements
    • Control Statement in C++
    • if else Statement in C++
    • Else If in C++
    • Nested if in C++
    • Continue Statement in C++
    • Break Statement in C++
    • Switch Statement in C++
    • goto Statement in C++
    • C++ Struct
    • Loops in C++
    • Do While Loop in C++
    • Nested Loop in C++
  • Functions
    • C++ String Functions
    • Math Functions in C++
    • Friend Function in C++
    • Recursive Function in C++
    • Virtual Functions in C++
    • strcat() in C++
    • swap() in C++
    • strcmp() in C++
    • ceil function in C++
    • C++ begin()
    • size() in C++
    • C++ test()
    • C++ any()
    • C++ Bitset
    • C++ find()
    • C++?Aggregation
    • C++?String append
    • C++ String Copy
    • C++ end()
    • C++ endl
    • C++ push_back
    • C++ shuffle()
    • malloc() in C++
    • C++ reserve()
    • C++ unique()
    • C++ sort()
    • C++ find_if()
    • Reflection in C++
    • C++ replace()
    • C++ search()
    • C++ Memset
    • C++ size_t
    • C++ Substring
    • C++ Max
    • C++ absolute value
    • C++ memcpy
    • C++ wchar_t
    • C++ free()
    • C++ sizeof()
    • C++ Move Semantics
  • Array
    • Arrays in C++
    • 2D Arrays in C++
    • 3D Arrays in C++
    • Multi-Dimensional Arrays in C++
    • C++ Array Functions
    • String Array in C++
    • C++ Length of Array
    • C++ arraylist
  • Constuctor and Destructor
    • Constructor and Destructor in C++
    • Constructor in C++
    • Destructor in C++
    • Copy Constructor in C++
    • Parameterized Constructor in C++
  • Overloading and overriding
    • Overloading and Overriding in C++
    • Overloading in C++
    • Overriding in C++
    • Function Overloading in C++
    • Function Overriding in C++
    • Method Overloading in C++
  • Inhertiance
    • Types of Inheritance in C++
    • Single Inheritance in C++
    • Multiple Inheritance in C++
    • Hierarchical Inheritance in C++
    • Multilevel Inheritance in C++
    • Hybrid Inheritance in C++
  • Sorting
    • Sorting in C++ 
    • Heap Sort in C++
    • C++ Vector Sort
    • Insertion Sort in C++
    • Selection Sort in C++
  • Advanced
    • C++ namespace
    • Encapsulation in C++
    • Access Modifiers in C++
    • Abstract Class in C++
    • C++ Class and Object
    • What is Template Class in C++?
    • C++ Algorithm
    • Data Structures and Algorithms C++
    • C++ Garbage Collection
    • Virtual Keyword in C++
    • Access Specifiers in C++
    • Storage Class in C++
    • Call by Value in C++
    • Multimap in C++
    • C++ Multiset
    • C++ Lambda Expressions
    • Stack in C++
    • C++ Static
    • C++ static_cast
    • Deque in C++
    • C++ Vector Functions
    • C++ 2D Vector
    • C++ List
    • C++ Mutable
    • Enum in C++
    • Abstraction in C++
    • Signal in C++
    • C++ Queue
    • Priority Queue in C++
    • Regular Expressions in C++
    • C++ Hash Table
    • File Handling in C++
    • C++ Stream
    • ifstream in C++
    • C++ ofstream
    • C++ fstream
    • C++ Read File
    • C++ iomanip
    • Macros in C++
    • Templates in C++
    • C++ setprecision
    • C++ Int to String
    • C++ thread( )
    • C++ Thread Pool
    • C++ thread_local
  • Programs
    • Patterns in C++
    • Star Patterns In c++
    • Swapping in C++
    • Reverse Number in C++
    • Palindrome Program in C++
    • Palindrome in C++
    • Factorial Program in C++
    • Fibonacci Series in C++
    • Square Root in C++
    • Random Number Generator in C++
    • Prime Number in C++
    • Leap Year Program in C++
    • Anagram in C++
    • Armstrong Number in C++
    • Reverse String in C++
    • Socket Programming in C++
    • Matrix Multiplication in C++
    • C++ using vs typedef
    • C++ vector vs list
    • C++ vector vs array
  • Interview question
    • C++ Interview Questions
    • Multithreading Interview Questions C++

Related Courses

C++ Training Course

Java Training Course

C Programming Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C++ Training (4 Courses, 3 Projects, 4 Quizzes) Learn More