C++ Boolean (bool) Data Type
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;
}