Drexel dragonThe Math ForumDonate to the Math Forum

Ask Dr. Math - Questions and Answers from our Archives
_____________________________________________
Associated Topics || Dr. Math Home || Search Dr. Math
_____________________________________________

Boolean Numbers

Date: 04/01/2003 at 02:50:53
From: Sakshi
Subject: Boolean Data Types - True and False Numbers

I am doing an introduction to C-Programming course. We learned Boolean 
data types so we could have variable declarations while writing a 
program. The course said a Boolean number was a number that was either 
true or false.

I'm not sure what a true or false number is.


Date: 04/01/2003 at 13:13:39
From: Doctor Peterson
Subject: Re: Boolean Data Types - True and False Numbers

Hi, Sakshi.

It's easy to misunderstand this concept if you are not familiar with 
the idea of Boolean algebra first. You've sort of got it backwards; 
it's not that a number can be true or false, but that we can represent 
truth or falsity by a number.

Boolean algebra is a way of talking about logic as if it were algebra. 
Rather than numbers, we use the two values True and False, and instead 
of addition and subtraction, we have operations like And and Or. For 
example, "True Or False" is an expression whose value is True. Why? 
Because the Or operation tells us if either the first OR the second 
operand is true; in this case the first is, so that answer is True.

Boolean algebra is very useful in computers, because you want to be 
able to tell whether some statement (such as "x == 5") is true or 
false, and then do different things based on the result. But you need 
some way to represent True and False in the program. In C, the 
solution is to use a number (integer). The number zero is taken to 
mean False, and any other number is taken to mean True. That allows 
you to say things like this:

    if ((x == 5) || (y < 4))
        ...

where "||" is the C symbol for Or. If x is 3 and y is 2, then

    (x == 5)  has the value False (0) because 3 is not equal to 5
    (y < 4)   has the value True (1) because 2 is less than 4

so when we "Or" these together, the answer is True, and we will do 
the following actions.

The funny thing is that in a computer, at the most basic level, 
everything is represented by nothing but True and False, 1 and 0; 
numbers are represented in binary using those bits; but then C 
represents True and False in terms of integers. That's because C wants 
to deal only with numbers at a level all computers will understand 
(bytes), rather than with bits, which are generally harder to work 
with.

Here is an explanation of Boolean algebra in a little more depth:

   Computers: Defining Logical Operations
   http://mathforum.org/library/drmath/view/54335.html 

If you have any further questions, feel free to write back.

- Doctor Peterson, The Math Forum
  http://mathforum.org/dr.math/ 


Date: 04/02/2003 at 03:32:44
From: Sakshi
Subject: Thank you (Boolean Data Types - True and False Numbers)

Thanks! That helped a lot. So it is basically whether the numerical 
value of a variable works out which is true or false.


Date: 04/02/2003 at 08:35:43
From: Doctor Peterson
Subject: Re: Thank you (Boolean Data Types - True and False Numbers)

Hi, Sakshi.

Right. Operations that return a Boolean value return 1 for True and 0 
for False; operations that expect a Boolean value take anything other 
than zero to mean True.

Other programming languages will have different ways of doing the 
same thing. C++ has a special Boolean data type.

- Doctor Peterson, The Math Forum
  http://mathforum.org/dr.math/ 
Associated Topics:
High School Calculators, Computers
High School Definitions
High School Logic

Search the Dr. Math Library:


Find items containing (put spaces between keywords):
 
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

_____________________________________
Math Forum Home || Math Library || Quick Reference || Math Forum Search
_____________________________________

Ask Dr. MathTM
© 1994-2013 The Math Forum
http://mathforum.org/dr.math/