Programming Fundamentals/Boolean Data Type
OverviewEdit
A Boolean data type has one of two possible values (usually denoted true and false), intended to represent the two truth values of logic and Boolean algebra. It is named after George Boole, who first defined an algebraic system of logic in the mid 19th century. The Boolean data type is primarily associated with conditional statements, which allow different actions by changing control flow depending on whether a programmerspecified Boolean condition evaluates to true or false.^{[1]}
DiscussionEdit
The Boolean data type is also known as the logical data type and represents the concepts of true and false. The name “Boolean” comes from the mathematician George Boole; who in 1854 published: An Investigation of the Laws of Thought. Boolean algebra is the area of mathematics that deals with the logical representation of true and false using the numbers 0 and 1. The importance of the Boolean data type within programming is that it is used to control programming structures (if then else, while loops, etc.) that allow us to implement “choice” into our algorithms.
When implemented in hardware, the 0 and 1 are switches, where 0 is open and 1 is close. The Boolean data type has the same attributes and acts or behaves similarly in all programming languages. However, while all languages recognize false as 0, some languages define true as 1 rather than 1. This is the result of storing the Boolean values as an integer and using a one’s complement representation that negates all bits rather than only the rightmost bit. To simplify processing, most programming languages recognize any nonzero value as being true.
Language  Reserved Word  True  False 

C++  bool

true

false

C#  bool or Boolean

true

false

Java  bool

true

false

JavaScript  Boolean()

true

false

Python  bool()

True

False

Swift  Bool

true

false

Key TermsEdit
 Boolean
 A data type representing the concepts of true or false.
 Ones' complement
 The value obtained by inverting all the bits in the binary representation of a number (swapping 0s for 1s and vice versa).