Computer Science 210 Computer Organization Introduction to Boolean Algebra
George Boole English mathematician ( ) Boolean algebra – Logic – Set Theory – Digital circuits – Programming: Conditions in while and if statements
Boolean Constants In Boolean algebra, there are only two constants, true and false Boolean constant Binary digit State of a switch Voltage level true1On+5V false0Off0V
Boolean Variables Boolean variables are variables that store values that are Boolean constants. Let A be true Let B be false Etc.
Boolean Operator AND If A and B are Boolean variables (or expressions) then A AND B is true if and only if both A and B are true.
Boolean Operator AND If A and B are Boolean variables (or expressions) then A AND B is false if and only if either A or B are false or they ’ re both false.
Boolean Operator AND We denote the AND operation like multiplication in ordinary algebra: AB or A. B
Boolean Operator OR If A and B are Boolean variables (or expressions) then A OR B is true if and only if at least one of A and B is true.
Boolean Operator OR If A and B are Boolean variables (or expressions) then A OR B is false if and only if both A and B are false.
Boolean Operator OR We denote the OR operation like addition in ordinary algebra: A+B
Boolean Operator NOT If A is a Boolean variable (or expression) then NOT A has the opposite value from A.
Boolean Operator NOT We denote the NOT operation by putting a bar over the variable (or expression) _ A
Boolean Expressions As with ordinary algebra, a Boolean expression is a well-formed expression made from – Boolean constants – Boolean variables – Operators AND, OR and NOT –Parentheses Example: __ ____ AB + (A+C)B
Evaluating a Boolean expression At any time, the value of a BE can be computed using the current values of the variables. __ AB + (CD) Let A = true Let B = false Let C = true Let D = false Then the resulting value is true
Operator precedence NOT comes first, then AND, and finally OR (Like arithmetic negation, product, and addition) A + BC is not the same as (A + B)C
Evaluating a Boolean expression Unlike ordinary algebra, for a BE, there are only finitely many possible assignments of values to the variables; so, theoretically, we can make a table, called a truth table, that shows the value of the BE for every possible set of values of the variables. For convenience, use 0 = false 1 = true
Truth Table for AND ABAB
Truth Table for OR ABA+B
Truth Table for NOT A _A_A 01 10
Filling in a Truth Table If there are N variables, there are 2 N possible combinations of values Thus, there are 2 N rows in the truth table Fill in the values by counting up from 0 in binary
Construct a truth table for _ ___ E = AB + (A+C)B Example
ABC _ ___ E = AB + (A+C)B Assign the values of the variables first
ABC _B_B _ ___ E = AB + (A+C)B Then add columns for each operation
ABC _B_B _ ___ E = AB + (A+C)B _ AB
ABC _B_B _ ___ E = AB + (A+C)B _ AB A+C
ABC _B_B _ ___ E = AB + (A+C)B _ AB A+C ___ (A+C)
ABC _B_B _ ___ E = AB + (A+C)B _ AB A+C ___ (A+C) ___ (A+C)B
ABC _B_B _ ___ E = AB + (A+C)B _ AB A+C ___ (A+C) ___ (A+C)B E
Laws of Boolean Algebra
Boolean Expression Simplification