”;
The bool data type in C++ stands for Boolean values, which are True and False. In C++, 1 stands for True whereas 0 stands for False. The keyword “bool” is used to declare a Boolean data type. The addition of bool data type is a one of the newer features of C++ language.
Use of Boolean Data Type
The Boolean (bool) data type is used in the following ways −
- In conditions where we need to have binary values, i.e., values which represent two states of a variable.
- When we need to run loops based on certain conditions, we use bool data types.
- In case of having null values, we generally relate them to bool data types.
- For comparing two values for equality or inequality, we generally use bool data types.
Values of Boolean (bool) Data Type
The bool data types in C++ can have one of two values, and these values are as follows −
- True or 1
- False or 0
As stated earlier, Boolean 1 means true whereas Boolean 0 means false in C++ compilation.
Creating a Boolean Variable
We can declare a Boolean variable using the “bool” keyword followed by the variable name.
Syntax
Use the following syntax to create a Boolean type variable −
bool variable_name = [value];
Here, [value] is an optional and can be used to assign value during the declaration.
Example
In the following examples, we are declaring a Boolean variable, assigning a value to it.
// C++ program to demonstrate // bool data type #include <iostream> using namespace std; // Driver code int main() { bool flag; flag=1;//this is true cout<<flag; return 0; }
Example of bool Data Type
The following example demonstrate the use of Boolean (bool) data type −
// C++ program to demonstrate // bool data type #include <iostream> using namespace std; int main(){ bool flag; flag=1;//this is true bool flag1=true; cout<<flag<<" "<<flag1<<endl; int count=0; while(flag){ //condition where flag is true count++; if(count>=3) flag=false; } cout<<count<<" "<<flag<<endl; if(flag1) cout<<"True flag1"<<endl; else cout<<"False flag1"<<endl; return 0; }
Output
1 1 3 0 True flag1
Implicit Conversion of Bool Variables
Boolean data types can be implicitly converted to numeric data types, and vice-versa. This is possible as any value greater than 0 has a Boolean true value, whereas any value less than or equal to 0 has a Boolean false value.
Also, the Boolean values can be added in form of integers to integral variables, using implicit conversion techniques. Hence, when we add a Boolean value to an integer, it gets incremented by 1 if the value is true, otherwise it remains same as false value corresponds to 0.
Example
This is clearly explained in the examples given below −
// C++ program to demonstrate // bool data type #include <iostream> using namespace std; int main() { bool flag; flag=1;//this is true bool flag1=true; cout<<flag<<" "<<flag1<<endl; int count=0; int x=12; float y=35.45; bool k=count, k1=x, k2=y; int sum=x+flag+flag1; cout<<k<<" "<<count<<" "<<k1<<" "<<x<<" "<<k2<<" "<<y<<" "<<endl; cout<<”After adding Boolean and integer values : ”<< sum<<endl; return 0; }
”;