290 likes | 401 Views
Computer Science 210 Computer Organization. Introduction to Boolean Algebra. Interview with President Ruscio. http://news.blogs.wlu.edu/2013/01/14/wls-ruscio-on-wmras-virginia-insight-monday/ “ I want a programmer with a liberal arts degree. ”. George Boole.
E N D
Computer Science 210Computer Organization Introduction to Boolean Algebra
Interview with President Ruscio http://news.blogs.wlu.edu/2013/01/14/wls-ruscio-on-wmras-virginia-insight-monday/ “I want a programmer with a liberal arts degree.”
George Boole • English mathematician (1815-1864) • 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 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 bothA 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 eitherA 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 ofA 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
Filling in a Truth Table • If there are N variables, there are 2N possible combinations of values • Thus, there are 2N rows in the truth table • Fill in the values by counting up from 0 in binary
Example Construct a truth table for _ ___ E = AB + (A+C)B
_ ___ E = AB + (A+C)B Assign the values of the variables first
_ ___ E = AB + (A+C)B Then add columns for each operation