Learn what the Boolean data type is, and how to use it in programming.
This article details the definition of a Boolean data type and explains its use in programming languages such as Python. There are also examples of Boolean operators that will be useful when understanding Boolean logic and conditional statements.
What is a Boolean data type?
In computer programs, there are three types of data: text, numbers and Booleans. A Boolean data type is a value that can only be either true or false (these are known as Boolean values).
A true Boolean value might indicate that the object is valid (e.g. an email address has been typed correctly). A false Boolean value indicates that the object is invalid and has not been done correctly (e.g. you’ve forgotten to fill out a required field).
Boolean values are true and false values
Boolean values have two possible states: true and false. In binary, these are represented by 1 and 0.
Boolean algebra is a type of math that deals with logical operations on logical values, including binary variables. It is the foundation for decisions in programs using logical operators, so it’s important to understand how Booleans work.
How are Boolean values used in computer programming?
A Boolean value is used to create conditions and control how a program behaves when certain things happen (e.g. if a condition is true, then do something). They can have only two possible values: either 0 or 1. You cannot add or subtract them. A Boolean variable is a special type of memory in a computer that can only store two values: true or false.
What are the differences between text, numbers and Booleans?
When using Booleans in programming, it’s important to understand the differences between a Boolean variable and other types of data. You need to know how they are stored, and what operations can be performed on them.
Booleans
Booleans are usually stored using one byte of memory while text variables use more than one (e.g. two bytes for ASCII, four bytes for Unicode).
Text
Some programming languages represent text with an array of characters (e.g. ASCII or Unicode). Text data types have a limited size (typically 256 characters) and do not perform operations on themselves.
Numbers
Numbers can be negative, positive, or zero depending on their properties. They are stored as an array of bits which determines if they’re positive (i.e.: 00000000). The same applies to negative numbers (-1, -2, etc).
These types of values can be used in mathematical operations such as addition and subtraction. Booleans cannot be added or subtracted from each other because they only have two states: true and false.
Truthy and falsy values
![Clouds of various data types depicting whether they evaluate to truthy or falsy when evaluated with a Boolean operator](https://uploads.sitepoint.com/wp-content/uploads/2017/08/1629185892truth-false3.jpg)
There are some special values in programming languages which can be treated as both text and Booleans. These are known as “truthy” or “falsy” values, depending on whether they evaluate to true or false respectively.
For example, 0 is a falsy value because it evaluates to false but “0” is a truthy value as a defined string.
Get to know how various variable states and data types will evaluate to true or false by reading our guide to truthy and falsy in JavaScript.
Boolean operators
When using Booleans in a program, it’s important to understand the Boolean operators. These are used in conditions and conditional statements which control how the program will behave. Logical operator examples include AND (&&
), OR (||
) and NOT (~
).
Boolean operator examples
The following are examples of the Boolean operators in programming:
>=
– True if a number is greater than or equal to another.<=
– True if a number is less than or equal to another.==
– True if two values are equivalent.!=
– True if two values are not equivalent.&&
– True if both values are true.||
– True if either of the values are true.!
– True if the value is false.~
– Reverses all of the bits in a variable (e.g.: 0000000000000000 becomes 1111111111111111). This can be useful when necessary because it allows you to change Booleans without affecting values or other types of data. It can also be used to revert changes made by a previous statement (e.g.: if (!k) then k = 1).
Boolean operators are used to make decisions in programs and indicate how the program should behave. For example, if p is true AND q is also true, then do something.
Boolean use-case example
Boolean values are used in conditional tests as discussed below.
- Checks that the email address is valid.
- Checks that the password is at least 6 characters long.
- Checks that both fields are filled out correctly.
What is an example of a Boolean data type in practice?
The following is an example of a Boolean in C++ code (note that the type of variable is not represented and can be stored using any variable data type):
This function returns true if two numbers add up to zero, otherwise false.
bool NumberCheck(int x, int y) { return x+y == 0; };
Boolean data types can also be used as operands in relational (e.g.: “is greater than”) and equality (e.g.: “equals” or “does not equal”) operators to perform such tasks as comparing directory contents and checking file sizes from a website, as shown in JavaScript below:
if (document.getElementById("files").value) {
if (parseInt(document.getElementById("files").value) > 1048576) {
alert("You have selected a file larger than 1MB.");
} else {
alert("You have selected a file smaller or equal to 1MB.");
}
} else {
alert("Please select at least one file.");
}
History & Origins of the Boolean Data Type
Booleans are named after George Boole, who was a mathematician from the 19th century. He first developed Boolean algebra in 1854.
The Boolean data type was invented in the early 1800s. George Boole created a system of logic that could be used to describe the true values (i.e.: 1) and false values (i.e.: 0) in computers. This developed into what we now call Boolean algebra, which is used as a basis for most computer programming languages.
In 1854, George Boole wrote “An investigation into the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities”, which laid the mathematical foundation for many computer languages.
Booleans were first used commercially in 1951 by a Bell Labs engineer as a part of AN/FSQ-7, the massive computer that was used by the United States Air Force.
FAQs
The Boolean data type is used to store the logical values true and false. This data type may be used to store information that allows one of two states, on or off, to be stored.
A nullable type is used to represent values that may be set to the null (no value) state.
null is the data type used to represent objects (e.g., variables, records, etc.) which do not currently exist, are unfinished/unused, or are being discarded so that resources will be freed. It could also be used when a Boolean expression evaluates to nothing and needs to be given a value. It returns false.
A non-zero value is a value that is not zero. It returns true.
No, it cannot, but you can use an undefined Boolean value to represent a null value. If checked against an operator, it returns false.
Boolean data types can be used to store the values true and false in a database.
Booleans are most commonly used in databases to represent yes/no, on/off, or other related states. For example, if an account has been turned off then its status column may contain false. If it’s currently on then true would be stored in the account status Boolean. Another common use is for flags which allow you to store information about what happened (e.g.: ’email sent’, ‘file downloaded’).
Booleans may also be useful to show if a file exists, or if an action has been performed (e.g.: form submitted).
Booleans are available in most programming languages. If you’re using JavaScript, Java, PHP, Python, C, C++ or Swift then you should have access to the Boolean data type.
If null is allowed in your programming language, then both true and false would be allowed as well.
Booleans can be used by application software to manage flags, yes/no options, on/off states and other related information. They may also be useful in keeping track of resources or performing various tasks (e.g.: deleting files).
Summary
In this blog post you learned what Boolean values are and how they differ from other types of data. You also learned why it’s important to understand how Booleans work, and how to use Boolean operators in programming.