2.

2.1 INTRODUCTION

BOOLEAN ALGEBRA

In the previous chapter, we introduced binary numbers and binary arithmetic. As you saw in binary arithmetic and in the handling of floating-point numbers, there is a need for accurate specification of procedures and schemes for manipulating and interpreting binary numbers! This chapter will begin to address how binary numbers are manipulated in a systematic manner by a computer. The principles of such manipulation are called Boolean Algebra, which is the foundation of digital logic circuit design and analysis. This algebra is conceived to handle variables, known as statements, each of which can take on one of two values, and on which operations are performed according to prescribed rules. For example, let us model our thinking processes in the adding of two binary digits. A brief examination of this simple problem leads us to consider all possible cases, since there are not too many of them. The two binary (input) digits will be called A0 and B0. The result (output) of the addition is represented by a sum-bit and a carry-bit, which we shall call S0 and C1, respectively. There are four possibilities of combinations of the two binary inputs. For each of these possibilities, we will specify the outputs: Inputs Outputs A0 B0 C1 S0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 This table represents all that one needs to know about the specific task of adding exactly two (not more!) single-digit binary numbers. We can now examine and attempt to describe the functional (see a later chapter for a formal definition of a
COEN 231 Class Notes J.C.Giguère & L.M.Landsberger p 2.1 Boolean Algebra Autumn 2001-2002

“function”), relationship between the inputs and outputs. A little thought will lead to the following conclusions: C1 is 1 only if both A0 and B0 are 1, otherwise it is 0 S0 is 1 only if either A0 or B0 are 1, but not both In this chapter, we will introduce algebraic operators, such as “and”, “or”, “not” and “exclusive-or”, which allow us to systematically build such sets of functional specifications. For the simple case of two single-digit binary numbers, this may not seem necessary, but becomes very useful even for slightly more complex situations. The example below (called the “fulladder”, briefly explained in the previous chapter), brings only one more variable, the carry digit from the next-less-significant binary addition operation, so that now we are adding exactly three single-digit binary numbers, represented by Ai, Bi , and Ci. Now we need to consider 8 possible cases of input, because 23 = 8. We still need only 2 output bits, because the sum of three single-digit binary numbers can be no more than 3, which is represented by Ci+1=1 and Si=1. How shall we organize the eight cases? The simplest and most convenient way is to count from 0 to 7, arranging the input digits to represent the casenumber, as shown in the table below: Inputs Outputs Case # Ai Bi Ci Ci+1 Si 0 0 0 0 0 0 1 0 0 1 0 1 2 0 1 0 0 1 3 0 1 1 1 0 4 1 0 0 0 1 5 1 0 1 1 0 6 1 1 0 1 0 7 1 1 1 1 1 In this full-adder example, the specification of the output is much more laborious and complicated than in the previous two-digit example:

COEN 231 Class Notes J.C.Giguère & L.M.Landsberger

p 2.2

Boolean Algebra Autumn 2001-2002

Si := 1 if or or or

[(Ai is 0) and (Bi is 0) and (Ci is 1)] [(Ai is 0) and (Bi is 1) and (Ci is 0)] [(Ai is 1) and (Bi is 0) and (Ci is 0)] [(Ai is 1) and (Bi is 1) and (Ci is 1)]

Note the two levels of brackets

Ci+1 := 1 if or or or

[(Ai is 0) and (Bi is 1) and (Ci is 1)] [(Ai is 1) and (Bi is 0) and (Ci is 1)] [(Ai is 1) and (Bi is 1) and (Ci is 0)] [(Ai is 1) and (Bi is 1) and (Ci is 1)]

Of course, one can also look for logical patterns in such a set of specifications, such as: Ci+1 := 1 if [(Ai is 0) and (Bi is 1) and (Ci is 1)] or [(Ai is 1) and [(Bi is 1) or (Ci is 1)]] Note the three levels of brackets. There are several possible representations of each of Si and Ci+1. Efficient representation, simplification and manipulation of logical expressions such as these is the main subject of this chapter on Boolean Algebra. 2.2 NOTATION, SYMBOLS AND OPERATIONS PRIMITIVE STATEMENT: Typically, capital letters (such as A,B,C) denote statements (also called variables). In a logic circuit, a statement could mean that a voltage at a designated point is above a certain threshold level. We assign to A, the value of 1 when A is true, namely when the voltage is above the threshold level, and the value of 0 when A is false, namely when the voltage is below the threshold level. Symbolically, we write A = 1 or A = 0. Some texts use the symbols T and F instead of 1 and 0.

COEN 231 Class Notes J.C.Giguère & L.M.Landsberger

p 2.3

Boolean Algebra Autumn 2001-2002

There are three basic operations known as NOT, AND and OR. As well, there is an additional commonly-used operation known as the exclusive-OR (also called the “half-adder”), which can be expressed in terms of the three basic operations. We will define these operations, introduce the notation used in Boolean algebra and give the graphical symbols used in logic circuits. NOT: (for example “NOT A”; written as A’ orA) This operation on A simply inverts the assignments of 1 and 0. AND: (for example “A AND B”; written as AB): This operation compares the values of A and B and assigns 1 as a result if both A and B are true or 0 if A or B or both A and B are false. OR: (for example “A OR B”; written as A+B, meaning “A or B or both”): This operation compares the values of A and B and assigns 1 as a result if A is true or B is true or both are true, and assigns 0 if both A and B are false. These definitions are summarized below in a special kind of table known as a Truth Table. Each line (row) of a truth table specifies the output “truth value” for a particular combination of truth values of the input Boolean statements (variables).
A 0 1 A' 1 0 A 0 0 1 1 B 0 1 0 1 AB A+B 0 0 0 1 0 1 1 1

Note the similarities to familiar arithmetic operations. It is also crucial to note the difference: 1+1 = 1 and not 10, (or 0 if one drops the leading 1 as one would in modulo 2 (binary arithmetic). There are related differences in the associated algebra: A + A = A; 1 + A = 1; AA = A.

COEN 231 Class Notes J.C.Giguère & L.M.Landsberger

p 2.4

Boolean Algebra Autumn 2001-2002

is defined as follows. A 0 0 1 1 B 0 1 0 1 A’ 1 1 0 0 B’ 1 0 1 0 A’B 0 1 0 0 AB’ 0 0 1 0 A’B+AB’ 0 1 1 0 COMPOUND STATEMENT: A compound statement is one that can be written as a combination of primitive statements. it can be written as a combination of basic operations.C. EXCLUSIVE OR. Exclusive OR. or XOR. is true and assigns 0 if both A and B are true or both A and B are false. written as A⊕B.5 Boolean Algebra Autumn 2001-2002 . namely. The truth table equivalent of the definition is: A 0 0 1 1 B 0 1 0 1 A⊕B 0 1 1 0 We call this a derived operation because. This operation compares the values of A and B and assigns 1 as a result if A or B (but not both).M. meaning “A or B but not both”).A commonly-used derived operation.Giguère & L. COEN 231 Class Notes J. as is demonstrated in the truth table below.Landsberger p 2. also known as the Half-adder: (for example “A EXCLUSIVE-OR B”. The XOR operation is an example of a compound statement. A⊕B = A’B + AB’.

M. which carry out the electrical equivalents of Boolean operations. then these are equivalent to the Boolean values of 1 or 0. known as gates. Inputs and outputs consist of voltages.Landsberger p 2.LOGIC GATE SYMBOLS: These are symbols for integrated circuits. When voltages are above or below a preset threshold level.C.Giguère & L. AND and OR gates COEN 231 Class Notes J.6 Boolean Algebra Autumn 2001-2002 . DERIVED BASIC OPERATIONS OPERATION NOT AND OR XOR A A' A B AB A B A+B A B A A'B + AB' Also known as an inverter NAND A B (AB)' B' AB’ A⊕B A' A’B B made from an AND gate and an inverter XOR circuit made up of NOT.

is to use the switch analogy.One way of looking at the two basic connectives. AND and OR. If these two switches are in series. p and q. an input “p” can be stably connected to either of two output lines.Landsberger p 2.7 Boolean Algebra Autumn 2001-2002 . one called “p” and the other called “not-p”. the bulb will light. If the two switches are in parallel. then if either one or both are on.C. This is p and q (pq). We have two switches. This is p or q (p+q). and: p q or: p q In a bi-stable switch.) p input line two output p lines COEN 231 Class Notes J. (Note that the symbolism ¬p means the same as p’.Giguère & L. which control a light bulb. then they must both be closed if the bulb is to light.M.

While some of them are the same as the laws of ordinary algebra. while in ordinary algebra. the idempotency laws. in Boolean Algebra. A+0 = A A1 = A 8. A+(BC) = (A+B)(A+C) A(B+C ) = (AB) + (AC) 6.2.Giguère & L. A+1= 1 A0= 0 10. some of them are not. These should be examined carefully. A+B = B+A AB = BA 4.8 Boolean Algebra Autumn 2001-2002 .Landsberger p 2. (A+B) +C = A+(B+C) (AB) C = A(BC) 5. A+A' = 1 AA' = 0 9. the first distribution law. the first distribution law indicates that 1 + (1)(1) is equivalent to (1 + 1)(1 + 1) = (1)(1) = 1. the first domination law and the absorption laws.3 LAWS OF BOOLEAN ALGEBRA Each of the laws stated below can be proven through the use of truth tables. 1. A+ (AB) = A A(A+B) = A Double Complement De Morgan Commutation Association Distribution Idempotency Identity Inverse Domination Absorption For example. (A+B)' = A'B' (AB) ' = A'+B' 3.M. A'' = A 2. COEN 231 Class Notes J. A+A = A AA = A 7. one should note De Morgan’s laws. 1+(2)(3) = 7 is not equivalent to (1+2)(1+3) = (3)(4) = 12.C. In particular.

COEN 231 Class Notes J. one can obtain its dual Sd as follows: • Replace each AND by an OR and each OR by an AND.Q can each represent any Boolean expression (single variable or compound statement).Landsberger p 2. … P. Note: There is no reason in general to expect S to equal Sd. operations on pairs of inner brackets are executed ahead of those on pairs of outer brackets. the meaning of P+Q’ is "P or (not Q)" while (P+Q)’ means "not (P or Q)". Brackets should be used whenever we wish to change the order or where there could be any ambiguity of interpretation. Where there are sets of nested brackets.C.As an example.B.C. disjunction (+). Note that the variables A. we prove De Morgan’s laws. A 0 0 1 1 B 0 1 0 1 A’ 1 1 0 0 B’ 1 0 1 0 A+B 0 1 1 1 (A+B)’ 1 0 0 0 A’B’ 1 0 0 0 AB (AB)’ 0 1 0 1 0 1 1 0 A’+B’ 1 1 1 0 THE PRINCIPLE OF DUALITY Except for the law of double complement. • Replace each 0 by a 1 and each 1 by a 0. There is also no reason in general to expect S to be the negation of Sd.9 Boolean Algebra Autumn 2001-2002 . all of the above laws appear in pairs. For example. given any compound statement S. conjunction (and) and finally. Example: If S = AB’C’ + A’BC.Giguère & L. The pairs are called duals of each other.M. In general. USE OF BRACKETS Without brackets. then Sd = (A + B’ + C’)(A’ + B + C). the order of operations is negation (‘).

C.It can be shown.Landsberger p 2. that the XOR operation is commutative and associative. A⊕(B⊕C) = A’(BC’ + B’C) + A(BC’ + B’C)’ definitions = A’(BC’ + B’C) + A[(BC’)’ (B’C)’] deMorgan = A’(BC’ + B’C) + A[(B’+C) (B+C’)] deMorgan = A’(BC’ + B’C) + A[B’B+B’C’+CB+CC’] distributive = A’(BC’ + B’C) + A[0+B’C’+CB+0]inverse = A’(BC’ + B’C) + A[B’C’+CB] identity = A’BC’ + A’B’C + AB’C’+ABC distributive = A’BC’ + AB’C’ + A’B’C + ABC commutative = (A’B + AB’)C’ + (A’B’ + AB)C distributive = (A⊕B)C’ + (A⊕B)’C definitions Note: it can be easily shown that*: (A⊕B)’ = (A’B+AB’)’ = A’B’ + AB. by using the Laws of Boolean Algebra.10 Boolean Algebra Autumn 2001-2002 * . In our treatment on logic we will define the derived operation “if and only if” with a special symbol ↔.M. We can therefore without loss of clarity omit the brackets and write A⊕B⊕C.Giguère & L. namely that: A⊕B = B⊕A and that A⊕(B⊕C) = (A⊕B)⊕C. so that (A⊕B)’ = A↔B COEN 231 Class Notes J.

We now show how each of the four Boolean operations can be realized using NAND gates alone.NAND GATES It should be noted that the most common integrated circuit implementation of logic gates is through the interconnection of what are known as NAND gates since these have the best operational performance characteristics. NOT A A' AND A A B (AB)' OR A XOR B' (AB’)' A⊕B which is the same as A A' A' B' (AB)'' = AB B A' (A'B')' = A+B (A’B)' B AB = ((AB)’)’ (by doublenegation) A+B = (A’B’)’ (A’B+AB’) = (by deMorgan) (A’B+AB’)’’ = [(A’B)’(AB’)’]’ COEN 231 Class Notes J.C. Note that a NAND gate with both inputs connected together (left-most column) behaves as an inverter. A NAND gate has the same symbol as the AND gate with the addition of a small circle at the front end. It implements (AB)’.M.11 Boolean Algebra Autumn 2001-2002 .Giguère & L.Landsberger p 2.

which specifies the output. and write the statement as the Boolean “sum of products” of the primitives which make it true. In words. F gives an output of “0” (False). we are given specifications for a logic circuit in the form of a truth table. and C=1. Since there are three input variables. B=0 (B’=1). F. in terms of three input variables A.C. Otherwise. Continuing in this fashion for the other three 1’s in the F column. or when the input it ABC. when the input is A’B’C or when the input is A’BC’. we note the combinations of input values for which the statement is true. Here.Landsberger p 2. A=0 (A’=1). 1: We are given the following truth table. we get the complete statement: F = A’B’C + A’BC’ + AB’C’ + ABC. Ex.Giguère & L.4 READING A COMPOUND STATEMENT GIVEN ITS TRUTH TABLE Often. (has a value of 1). The contribution of this row is thus A’B’C.12 Boolean Algebra Autumn 2001-2002 . COEN 231 Class Notes J. To convert this to a compound statement.B.C. a complete specification requires 23 = 8 rows. this means: “The Boolean function F gives an output of “1” (True). or when the input is AB’C’.M. Inputs B 0 0 1 1 0 0 1 1 Output F 0 1 1 0 1 0 0 1 A 0 0 0 0 1 1 1 1 C 0 1 0 1 0 1 0 1 The second row is the first instance where F = 1.2.

we would obtain F’. To get F we would then negate both sides of the equation and use the De Morgan’s and distribution laws to convert the result to the same format as in Ex. namely. one would take the Boolean sum of the input terms which yield 0’s. In this case.C. namely G = [(A’B’ + AB)C’]’.1 above. using the distribution law. This statement can be simplified in terms of the number of primitives used. This would give us all the cases where F is false.13 Boolean Algebra Autumn 2001-2002 . Ex.Giguère & L.Landsberger p 2.M. by the insertion of brackets. COEN 231 Class Notes J. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 G 0 1 1 1 1 1 0 1 G’ = A’B’C’ + ABC’ and G = [A’B’C’ + ABC’]’. 2 We are given the following truth table.Sometimes when F contains fewer 0’s than 1’s it is easier work with the 0’s.

C. COEN 231 Class Notes J. then it is called a Boolean “sum of products”. each of which is a Boolean “product” of (possibly-negated) primitive statements. The result of Example 1 above is in AND-then-OR1 format: F = A’B’C + A’BC’ + AB’C’ + ABC.Giguère & L.M. The Boolean “AND-then-OR” format consists of a Boolean “sum” of terms. and in general need to be simplified for efficiency. Function specifications.5 MANIPULATION OF COMPOUND BOOLEAN STATEMENTS Manipulation of compound Boolean statements using the laws of Boolean algebra is a critical skill in computer engineering. such as in the examples above.2.14 Boolean Algebra Autumn 2001-2002 1 . need to be converted into specific formats for implementation in digital logic. in this case A. This is a form suitable for representation in a circuit of AND gates followed by OR gates (AND gates whose outputs are then connected by OR gates.B and C.) A A' A'B'C B B' A'BC' C C' ABC' AB’C’ ABC When each Boolean “product” term contains all of the available variables.Landsberger p 2.

Boolean functions can be converted between these various formats using the laws of logic. COEN 231 Class Notes J.M.15 Boolean Algebra Autumn 2001-2002 .The initial result of Example 2.Giguère & L. is also a AND-then-OR result for the function G’ (not for G). There are at least two other important formats for digital logic design. the Boolean “OR-then-AND” and NAND formats.C. the three formats are logically equivalent (the truth table for the function remains the same). G’ = A’B’C’ + ABC’.Landsberger p 2. We could obtain the AND-then-OR result for G by using the laws of logic: G = [(A’B’ + AB)C’]’ G = (A’B’)’(AB)’ + C (deMorgan) G = (A+B)(A’+B’)+C (deMorgan) G = AA’ + AB’ + A’B + BB’ + C (Distributive) G = 0 + AB’ +A’B + 0 + C (Inverse) G = AB’ + A’B + C (Identity) This is in AND-then-OR format. Note that. although these are different representations of the same function.

One can of course. F = (A+B+C)(A+B’+C’)(A’+B+C’)(A’+B’+C) F = ((A’B’C’)’(A’BC)’(AB’C)’(ABC’)’) (deMorgan) F = (A’B’C’ + A’BC + AB’C + ABC’)’ (deMorgan) At this point. as follows: F’ = A’B’C’ + A’BC + AB’C + ABC’ F’’ = (A’B’C’ + A’BC + AB’C + ABC’)’ (negation) F = (A’B’C’ + A’BC + AB’C + ABC’)’ (double-negation) F = (A’B’C’)’(A’BC)’(AB’C)’(ABC’)’ (deMorgan) F = (A+B+C)(A+B’+C’)(A’+B+C’)(A’+B’+C) (deMorgan) This is the result for F in OR-then-AND format.Landsberger p 2. one can convert the above AND-then-OR result for G’ in Example 2. One could also have converted the result of Example 1 into ORthen-AND format. one notes that the negation of this AND-then-OR expression consists of the other four terms that appear in an eight-row truth table.C.M. For example.16 Boolean Algebra Autumn 2001-2002 . COEN 231 Class Notes J. the function is represented as a simple Boolean “product” of parenthesized expressions. reverse the process to convert a OR-thenAND to a AND-then-OR.Giguère & L. each of which is a Boolean “sum” of (possiblynegated) primitive statements.In the Boolean OR-then-AND format. by working from the 0’s. We thus have: F = A’B’C + A’BC’ + AB’C’ + ABC. into OR-then-AND format for G (not G’) as follows: G’ = A’B’C’ + ABC’ G’’ = (A’B’C’ + ABC’)’ (negation of both sides) G = (A’B’C’ + ABC’)’ (double negation) G = (A’B’C’)’(ABC’)’ (deMorgan) G = (A+B+C)(A’+B’+C) (deMorgan) This is the result for G in OR-then-AND format.

COEN 231 Class Notes J. If we inspect the two examples of derivations toward OR-then-AND above.Landsberger p 2. G = (A’B’C’)’(ABC’)’ G’ = A’B’C’ + ABC’ = (A’B’ + AB)C’ G = (A’B’ + AB)’ + C G = A’B + AB’ +C G = [A’B + AB’ +C]’’ G = [(A’B)’(AB’)’C’]’ (DeMorgan. it is often useful to convert Boolean functions into a form where they can be implemented using only NAND operations (gates). Note that this format involves only AND and NOT operations. To complete the conversion: G = (A’B’C’)’(ABC’)’ G = [[(A’B’C’)’(ABC’)’]’]’ A A' [(A’B’C’)’(ABC’)’]’ (double-negation) (A'B'C')' B B' [(A'B'C')'(ABC')']' G (ABC')' C C' Note that we have used 7 gates.10) (double-negation) (DeMorgan) The drawing of the circuit is left as an exercise.17 Boolean Algebra Autumn 2001-2002 . It is possible to realize G using only six gates.distrib’ve) (negation.C.As mentioned above.M.Giguère & L. De Morgan) (See page 2. we will see that in each case the next-to-last line is in a format convenient for conversion and implementation by 3-input NAND gates.

M.18 Boolean Algebra Autumn 2001-2002 . Notice the simple Boolean operations which interrelate them. Sum of Products Format F = [(A’B’C) + (ABC)] DeMorgan (inner brackets) F = [(A+B+C')' + (A’+B’+C')'] deMorgan F = [(A+B+C')(A’+B’+C')]' double negation F = F’’ = [(A’B’C) + (ABC)]’’ deMorgan deMorgan (inner brackets) negation NAND Format F = [(A’B’C)'(ABC)']' Product of Sums Format F’ = [(A+B+C')(A’+B’+C')] COEN 231 Class Notes J. The relationships between several of them is mapped out below.Interrelationship among the different formats: Consider the example of a Boolean function F = A’B’C + ABC.Landsberger p 2. F and its negation F’ can be expressed in various formats.C.Giguère & L.

when F = A’B’C + ABC as above.C. the interrelationships for F’ are: Sum of Products Format F’ = [(A’B’C’) + (A’BC’) + (A’BC) + (AB’C’) + (AB’C) + (ABC’)] DeMorgan (inner brackets) double negation F’ = [(A+B+C)’ + (A+B’+C)’ + (A+B’+C’)’ + (A’+B+C)’ + (A’+B+C’)’ + (A’+B’+C)’] deMorgan F’ = [F’]’’ = [(A’B’C’) + (A’BC’) + (A’BC) + (AB’C’) + (AB’C) + (ABC’)]’’ deMorgan F’ = [(A+B+C) (A+B’+C) (A+B’+C’) (A’+B+C) (A’+B+C’) (A’+B’+C)]’ negation deMorgan (inner brackets) NAND Format F’ = [(A’B’C’)’(A’BC’)’(A’BC)’ + (AB’C’)’(AB’C)’(ABC’)’]’ Product of Sums Format F = [(A+B+C) (A+B’+C) (A+B’+C’) (A’+B+C) (A’+B+C’) (A’+B’+C)] COEN 231 Class Notes J. F’ simply consists of the minterms not included in F: F’ = A’B’C’ + A’BC’ + A’BC + AB’C’ + AB’C + ABC’ In this case. For example.M.19 Boolean Algebra Autumn 2001-2002 .Landsberger p 2.The same type of analysis can be done for F’.Giguère & L.

COEN 231 Class Notes J. if for no other reason than to ensure that a minimum amount of digital logic can be used to implement these statements.M. we will define simplification to mean that after the manipulation fewer primitives appear in the expression. F = A + A’B doesn’t look as if it can be simplified – but it can. Any skills gained in doing this are transferable to the simplification of compound logic statements or of compound set operations.20 Boolean Algebra Autumn 2001-2002 . An easy way of doing this is use the distribution law with respect to “+” and write F = (A + A’)(A + B) = (1)(A + B) (Inverse) = (A + B) (Identity) Another way is to write F = A + AB + A’B (since A = A + AB by Absorption) = A + (A + A’)B (Distributive) = A + (1)B (Inverse) =A+B (Identity) F = A’B’ + AB cannot be simplified.Giguère & L.2. F = AB + AB’ = A(B + B’) = A(1) =A (Distributive) (Inverse) (Identity) ii. since the rules governing these are identical to those of Boolean algebra.C. Simple examples are: i. iii.Landsberger p 2. For the purposes of this course. F = A’B’C + ABC can be simplified a bit since F = (A’B’ + AB)C (Distributive) reducing the number of primitives from six to five.6 SIMPLIFICATION OF COMPOUND BOOLEAN STATEMENTS In most cases. iv. one should attempt to simplify compound statements.

if there are four variables.One problem is to know when the statement has been minimized. and which are useful for statements containing up to five or six variables. COEN 231 Class Notes J.C. The first way involves the use of the inverse law and of distribution with respect to the AND (Boolean product) operation. For example.21 Boolean Algebra Autumn 2001-2002 . which will be presented in courses on logic circuits. and then read off the values of the variables that make F true. What we do is rewrite the statement as a “Boolean sum” of what are called minterms. particularly when the number of variables (or primitive statements) is large. such as Karnaugh maps. namely. the solution is not always unique. In the industry. A minterm for a compound statement containing n variables or primitives consists of a “Boolean product” of n variables. F=A+B = A(B+B’) + (A+A’)B (Identity. Inverse) = AB + AB’ + AB + A’B (Distributive) = AB + AB’ + A’B (Idempotent) The second way is to write the truth table for the given statement F. This technique is based on the Boolean AND-then-OR form discussed above. a truth-value of 1.M. The approach we will follow here is useful where Boolean statements contain up to four variables.Giguère & L. Further. For example. It leads into techniques. This is not always obvious. then AB’CD’ is a minterm while ABC is not.Landsberger p 2. this is called a “sum-of-products expansion”. There are two ways of rewriting a given expression as a sum of minterms. namely it can be simplified no more.

presented in Section 2.22 Boolean Algebra Autumn 2001-2002 . generates minterms.Landsberger p 2.Giguère & L.4. Note that the technique for reading specification tables.C.M.For our simple example: A 0 0 1 1 B 0 1 0 1 F=A+B 0 1 1 1 F = A’B + AB’ + AB. COEN 231 Class Notes J.

It is sometimes possible to simplify sums of minterms through the use of the laws of Boolean algebra. we convert the minterms to ordered strings of 0’s and 1’s.Giguère & L. In order to determine if any simplification can take place.C. for example. A’B’C’ + ABC cannot be simplified at all.Once an expression has been converted into its minterms.23 Boolean Algebra Autumn 2001-2002 .1 Test for determining whether or not a sum of minterms can be simplified It is sometimes possible to simplify sums of minterms through the use of brackets.Landsberger p 2. 2.M. using the idempotent law. e.6. in order to remove literals. A’B’C + ABC = (A’B’ +AB)C.. = AB’C + ABC + ABC +A’BC = (AB’C + ABC) + (ABC +A’BC) = A(B’ +B)C + (A + A’)BC = AC + BC = (A + B)C. AC + A’BC = A(B’ + B)C + A’BC = AB’C + ABC + A’BC (sum of minterms) Now one can recognize that minterms may be repeated.g. The three examples given above become: COEN 231 Class Notes J. simplification (and determination whether any simplification is available) is relatively straightforward. This is done in order to group the repeated minterm with other minterms.

C. Third example A’B’C’ 000 ABC 111 There is nothing in common.First example A’B’C 001 ABC 111 The third 1 is in common. COEN 231 Class Notes J. Second example 101 AB’C 111 ABC 011 A’BC The third 1 is in common (Bracket). Simplification is possible as shown above. Simplification test for minterms: An expression whose minterms have nothing in common cannot be simplified.Landsberger p 2. Nothing can be done.Giguère & L. First and second minterms differ by one digit. This means that a bracket can be used. Second and third minterms differ by one digit.M.24 Boolean Algebra Autumn 2001-2002 .

2 Examples of the simplification of Boolean statements The laws of Boolean algebra are available for the simplification of Boolean statements. We have already shown a few pages ago that A + A’B = A + B. We can reuse this result here as follows: F = A + A’B + A’B’C = A + A’(B + B’C) = A + A’(B + C) =A+B+C Alternatively.2. COEN 231 Class Notes J.M. so that F = (A’B’C’)’ = A + B + C (by De Morgan). directly from the functional expression above.Landsberger p 2.C. we could have constructed the truth table from the original expression. Example 1: Simplify F = A + A’B + A’B’C. we have: F= A(B + B’)(C + C’) + A’B(C + C’) + A’B’C = ABC + ABC’ + AB’C + AB’C’ + A’BC + A’BC’ + A’B’C This can be simplified substantially. Rewriting as minterms.6.25 Boolean Algebra Autumn 2001-2002 .Giguère & L. F = A + A’B + A’B’C: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 1 1 1 1 1 1 1 A’B’C A’B A then examined the truth table and noticed that F’ = A’B’C’.

BC. since column F contains as many 0’s as 1’s.26 Boolean Algebra Autumn 2001-2002 .Giguère & L. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 F 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 Reading off the minterms.Landsberger p 2.Example 2: Simplify F = AB+A’C+BC One could construct the minterms in the usual ways: by truth table and/or by expansion of the three terms AB. Example 3: Given the following truth table.M. we get: F = A’B’CD + A’BCD’ + A’BCD + AB’CD + ABCD’ + ABCD.C. A’C. there would be no advantage in proceeding to find F’ and converting it to F. find and simplify the Boolean expression. F = (A’ + A)(B’CD + BCD’ + BCD) = B’CD + BCD’ + BCD = B’CD + BCD + BCD’ + BCD = (B’ + B)CD + BC(D’ + D) = CD + BC = C(B + D) COEN 231 Class Notes J. This can be simplified. Writing the truth table we have: A B C A’ AB A’C BC F Here we note that the final 0 0 0 1 0 0 0 0 result consists of: 0 0 1 1 0 1 0 1 F =A’B’C+A’BC+ABC’+ABC 0 1 0 1 0 0 0 0 which can be simplified as 0 1 1 1 0 1 1 1 follows: 1 0 0 0 0 0 0 0 =A’(B’+B)C+AB(C’+C) 1 0 1 0 0 0 0 0 = A’C+AB 1 1 0 0 1 0 0 1 1 1 1 0 1 0 1 1 Here.

M. using laws of Boolean Algebra Don’t cares Implementation of logic circuit using logic gates COEN 231 Class Notes J.Giguère & L.1 1 1 1 1 FROM WORDS TO GATES: Word descriptions of the task or operation Word descriptions using AND.Landsberger p 2. NOT. simplification.C.27 Boolean Algebra Autumn 2001-2002 . brackets Other formats Truth table Boolean AND-then-OR Boolean OR-then-AND minterms NAND format Manipulation. OR.

A and B.B Sum . Ai. was: Si = 1 whenever the values of one member of the triplet (Ci. The value Ci is the result of the carry operation determined from the full add operation of the previous (next-less-significant) column. of the sum of two binary numbers. or all three of the triplet are 1’s. The techniques introduced in this chapter are well-suited to completing the task that we started. We repeat here the example of the addition of 1003 and 501. Ai.S 1003 501 1504 We indicated that the ith digit Si .C First number . with the other two members being 0’s. Otherwise Ci+1 = 0.Giguère & L.M. and again at the beginning of this Chapter.7. Ci+1 = 1 whenever at least two of the triplet (Ai. In other words. Ci) are 1’s.7 APPLICATIONS TO THE DESIGN OF LOGIC CIRCUITS 2. Bi) is a 1. either two of the triplet are 1’s with the third being 0. Otherwise Si = 0. The carry value for the next column.1 The Full Adder Recall that in Chapter 1. or whenever all three members of the triplet (Ci.Landsberger were summarized in Section 2. Addition 11 10 9 8 7 6 5 4 3 2 1 0 Column number 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 Carry digit . These specifications repeated here: Case # 0 1 2 3 4 5 6 COEN 231 Class Notes J. Bi.A Second number .1.28 Boolean Algebra Autumn 2001-2002 . we examined the addition of binary numbers. Bi) are 1’s.2. and are Inputs Outputs Ai Bi Ci Ci+1 Si 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 p 2.C. (represented by the column number).

Landsberger p 2.29 Boolean Algebra Autumn 2001-2002 .7 1 1 1 1 1 COEN 231 Class Notes J.C.Giguère & L.M.

We will now express these specifications as a sum of minterms (method 3). in addition to 3 inverters. we are ready to translate these word specifications into the language of Boolean logic.1. The variables Ai. (eight 2-input AND gates and three 2-input OR gates). One of several possibilities for simplification is to reorder the terms and rewrite it as: Si = Ai B’i C’i + A’i Bi C’i + A’i B’i Ci + Ai Bi Ci = (Ai B’i C’i + A’i Bi C’i) + (A’i B’i Ci + Ai Bi Ci) Si = (Ai B’i + A’i Bi )C’i + (A’i B’i + Ai Bi ) Ci We now let Di = (Ai B’i + A’i Bi ).Giguère & L. and as a result.Landsberger p 2. We have shown earlier that COEN 231 Class Notes J. with the techniques and notations introduced in this chapter. these conditions become: Si = A’i B’i Ci + A’i Bi C’i + Ai B’i C’i + Ai Bi Ci Ci+1 = Ai Bi C’i + Ai B’i Ci + A’i Bi Ci + Ai Bi Ci The first expression as stated. Si := 1 if or or or Ci+1 := 1 if or or or [(Ai is 0) and (Bi is 0) and (Ci is 1)] [(Ai is 0) and (Bi is 1) and (Ci is 0)] [(Ai is 1) and (Bi is 0) and (Ci is 0)] [(Ai is 1) and (Bi is 1) and (Ci is 1)] [(Ai is 0) and (Bi is 1) and (Ci is 1)] [(Ai is 1) and (Bi is 0) and (Ci is 1)] [(Ai is 1) and (Bi is 1) and (Ci is 0)] [(Ai is 1) and (Bi is 1) and (Ci is 1)] Now. the variables Si and Ci+1 are considered to be outputs.M. so that they can be implemented in logic gates. requires 11 2-input AND and OR operations.C. In Boolean notation. Ci are considered to be inputs. beginning with the word statements given in Section 2. and recognize it as the exclusive OR. 14 logic gates to realize it. Bi.30 Boolean Algebra Autumn 2001-2002 . namely Di = Ai ⊕ Bi.

Di’ = (A’i B’i + Ai Bi ). If.M. so that: Ci+1=(Ai Bi C’i+Ai Bi Ci)+(Ai B’i Ci+Ai Bi Ci)+(A’i Bi Ci+Ai Bi Ci) = Ai Bi (C’i + Ci ) + Ai (B’i + Bi ) Ci + (A’i + Ai )Bi Ci = Ai Bi + Ai Ci + Bi Ci = Ai Bi +(Ai + Bi )Ci a reduction from 14 to 4 operations.31 Boolean Algebra Autumn 2001-2002 . which also appears in the expression (ahead of Ci). in addition.Landsberger p 2.C. COEN 231 Class Notes J. The ABC term can be grouped with each of the 3 previous terms. we can rewrite it as: Ci+1 = (Ai B’i Ci + A’i Bi Ci) + (Ai Bi C’i + Ai Bi Ci) = (AiBi’+Ai’Bi)Ci+AiBi(Ci’+Ci) = (Ai⊕ Bi) Ci + Ai Bi This would allow us to use the results of one of the half-adders used in representing Si. Alternately. if XOR gates are used. we have available the XOR gate. The realization of this using AND and OR gates is shown below.Giguère & L. A D = A'B + AB' D B S C We have used six gates to realize this. We now consider the second expression: Ci+1 = Ai Bi C’i + Ai B’i Ci + A’i Bi Ci + Ai Bi Ci . we can rewrite it as: Si = (Ai ⊕ Bi ) Ci’ + (Ai ⊕ Bi )’ Ci = (Ai ⊕ Bi )⊕ Ci = Ai ⊕ Bi ⊕ Ci.

M.C.32 Boolean Algebra Autumn 2001-2002 .Giguère & L.The circuit to implement the full adder is shown below.Landsberger p 2. (A⊕B)C+AB (A⊕B)C ith digit C (i+1)th digit S A⊕B⊕C A⊕B B AB A The Full Adder Circuit COEN 231 Class Notes J. What is not shown are the timing circuits that move the register connections from one digit to the next.

7. COEN 231 Class Notes J. and 6 levels. is usually decided by some aesthetic (appearance) considerations. in a stack.M. Often.Landsberger p 2.Giguère & L. perhaps the bottom one or two lights will flicker. when there is no sound. where the sound volume is often also represented visually by an arrangement of lights on the front panel. to simplify the number of Boolean operations needed.33 Boolean Algebra Autumn 2001-2002 . 5 status lights indicating sound volume So. The following example illustrates this technique.C. These are called “don’t care” conditions and can be used as necessary. or all five lights. will be lit.2. Imagine a stereo system. When there is soft sound. no lights will be on.2 The Use of “Don’t Care” Conditions There are occasions when a number of minterms are not relevant to the production of outputs. And when the music is very loud. Thus. Therefore. but we won’t need to use all 8 possible patterns that can be represented in 3 bits. the bottom four. this visual arrangement consists of 5 lights. we will need 3 bits. Note: the choice of 5 lights (6 levels. where the number of lights lit represents the instantaneous (moment-by-moment) loudness of the sound. since nolights-on represents no sound). given that there are 5 lights. we will need more than 2 bits to represent the 6 different input sound levels.

The specifications S1 through S5 are in bold type while the “don’t care” conditions D6 and D7 and the “off” condition.. we devise a series of five status conditions. etc. status S2 will result in both L1 and L2 being turned on. S1 through S5. We only need the six that correspond to the six status conditions. of which there are eight. Status S1 will result in L1 being turned on.M.34 Boolean Algebra Autumn 2001-2002 . S0. B. You will note that the table contains all possible three-digit binary numbers. We wish to design a logic circuit that allows a series of five lights L1 through L5. are in plain type. There is an assumed sixth specification in that if none of the status conditions occur. The remaining two correspond to “don’t care” conditions. we do not want any of the lights turned on. As such the values A. We have inserted X into the appropriate rows. status S5 will result in all five lights being turned on. and finally. and C are to be considered as inputs to the logic circuit.C. to be turned on according to the following specifications. which are coded in binary as shown in the table below.Therefore.Landsberger p 2. Truth Table for Example 4 Inputs Outputs A B C L1 L2 L3 L4 L5 S0 0 0 0 0 0 0 0 0 Status S1 0 0 1 1 0 0 0 0 Conditions S2 0 1 0 1 1 0 0 0 S3 0 1 1 1 1 1 0 0 S4 1 0 0 1 1 1 1 0 S5 1 0 1 1 1 1 1 1 Don’t care D6 1 1 0 X X X X X conditions D7 1 1 1 X X X X X COEN 231 Class Notes J.Giguère & L. There will not be an input signal corresponding to these two conditions.

and S2? Note that we don’t need to distinguish them from the “don’t care” conditions D6. and can be applied when analyzing more complicated problems.In what follows we will demonstrate the use of the “don’t care” conditions to simplify the logical implementation of the specifications. and S5 that distinguishes them from the other input conditions. for L3. In order to develop an approach as to how to use the “don’t care” conditions. You may (or may not) be able to see the above answers by inspection. In this way.Landsberger p 2. We only need to distinguish S5 from S0S4. An examination of the truth table will provide insight. Therefore.M.Giguère & L. L3 = S3 + S4 + S5 is on only when A is true or BC is true. what is it about the input conditions S3. let us concentrate on how to make the lights go on. Our objective is thus L3 = A + BC. L1 comes on when any of the statuses are true. S0.35 Boolean Algebra Autumn 2001-2002 . the following analytical methods are useful. L5 = S5 is on only when inputs A and C are true and input B is false.C. since we don’t care what happens with the D6 and D7 combinations of inputs. Our objective is thus L2 = A + B. Similarly. we would like to make L4 =A. D7. S4. we need not distinguish S5 from D6 and D7. we can try to use the “don’t care” conditions to eliminate B’ from L5 = S5 = AB’C and to achieve L5 = AC. As such. ask the question “what is it about the associated rows that distinguishes them from the rest of the rows?” For example. Either way. For each light. it will turn out that the specification “A and C are true” is enough to distinguish S5 from S0-S4. S1. COEN 231 Class Notes J. L4 = S4 + S5 is on only when A is true. L2 = S2 + S3 + S4 + S5 is on only when A or B are true. However. As such we want L1 = A+B+C.

As such. we don’t care about it and are free to integrate it into the specifications in order to simplify them. L5: We have the requirement that L5 = S5 = AB’C.Landsberger p 2.Giguère & L. Outputs L1 L2 L3 L4 L5 A Inputs B C AC COEN 231 Class Notes J.M. Since D7 will never be implemented as a separate specification.C.36 Boolean Algebra Autumn 2001-2002 . Our goal is to implement logic gates to turn on the lights in accordance with the specifications. we redefine L5 by integrating D7 into it.We now use the “don’t care” conditions to show in detail how we can do this. so that now. We have below it the minterm D7 = ABC. so we can begin by placing the appropriate gate in a “box” which will contain our circuitry. L5 = AB’C+ABC = A(B’+B)C = AC.

Adding in the “don’t care” conditions.) = A + (BC)’’ = A + BC.Landsberger p 2. we have: L3 = BC + A. Using the results of L4.37 Boolean Algebra Autumn 2001-2002 . We now note that D6 + D7 = ABC’ + ABC = AB and that AB’ + AB = A. = AB’. We now proceed to add these “don’t care” conditions into the original specification for L4 and obtain L4 = (AB’C’+AB’C)+(ABC’+ABC) = AB’+AB = A . This can be further simplified since we had shown in Example 1 that A’Q + A = Q + A. L1 L2 L3 L4 L5 A B C AC L3: Proceeding as before. L2: In the same manner.C. L3 = (S0 + S1 + S2)’ = (A’B’C’ + A’B’C + A’BC’)’ = [A’(B’C’ + B’C + BC’)]’ = [A’(BC)’]’ (Note that (B’C’ + B’C + BC’) = (BC)’ by the same reasoning as in Example 2.Giguère & L. this can be rewritten as A’BC + A. is to write conditions. Another way of arriving at the result. we get L3 = S3 + S4 + S5 + D6 + D7 = A’BC+AB’C’+AB’C + ABC’ + ABC = A’BC+(AB’C’+AB’C + ABC’ + ABC). COEN 231 Class Notes J. L3 = S3 + S4 + S5 = A’BC+AB’C’+AB’C. Letting Q = BC. a few pages ago.L4: Initially we have that L4 = S4 + S5 = AB’C’+AB’C. we let L2 = S2 + S3 + S4 + S5 + D6 + D7 = (S0 + S1)’ = (A’B’C’ + A’B’C)’ = [A’B’(C’ + C)]’ = [A’B’]’ = A+B.M.

Giguère & L. L5 = AC. we can immediately write L1 = S0’ = [A’B’C’]’ = A + B + C.L1: Based on what we have done before. L4 = A. As we can see. L2 = A+B. L1 = A+B+C = (A+B)+C. Given a restriction that we must use two-input gates.M. L3 = A+BC.C. Outputs L1 L2 L3 L4 L5 A+BC A A+B Inputs B BC A+B+C AC C Complete Implementation of Example 4 COEN 231 Class Notes J. the “don’t care” conditions have allowed us to prove what was intuitively obvious from looking at the truth table. the complete circuit is designed with five two-input AND and OR gates.38 Boolean Algebra Autumn 2001-2002 .Landsberger p 2.

C. product-of-sums. NOT. NAND • Simplification of Boolean statements • The Full Adder: algebraic description and implementation in gates • The use of the “don’t-care” condition COEN 231 Class Notes J.2.M. OR.Giguère & L.39 Boolean Algebra Autumn 2001-2002 .8 BOOLEAN ALGEBRA: SUMMARY OF IMPORTANT SKILLS • Specifications in words and their translation into Boolean logic • AND. XOR operations • Logic gate symbols and interconnection • NAND gates • The Laws of Boolean Algebra (in dual pairs) • Reading specification (truth) tables • Manipulation of Boolean statements using the Laws • 3 formats: sum-of-products.Landsberger p 2.

COEN 231 Class Notes J. using these two switches and wires. Suggestion: start with ((A⊕B)’)’’. (b) Design a circuit which implements this truth table.Giguère & L. this called the “if and only if” statement and is represented using A↔B. up and down.Boolean Algebra – Problems 1. S = A⊕B =A’B + AB’. Show that the exclusive OR obeys the laws of commutation and association. We want to use switch p to turn the light on or off regardless of the position of switch q and to use switch q to turn the light on or off regardless of the position of switch p. a particular switch’s position (up/down) does not always mean the same thing (e. one in each location.) (b) Show that the negation of S = A⊕B = Sd . (A+B) vs. You will note that the sum will include all minterms other than A’B’C’. Verify this for the following pairs of dual Boolean expressions: (A+B)’ vs. (c) The negation of a Boolean statement is not usually equivalent to its dual. 6. 4. Hints: There are two possible designs. as an interconnection of (only) NAND gates. (AB)’. to which we will assign the truth values of 1 and 0 respectively. prove the laws of distribution and absorption. c) Using minterms.g. namely A⊕B = B⊕A and that (A⊕B)⊕C = A⊕(B⊕C) = A⊕B⊕C. is Sd = A’B’ + AB. (In logic. Let us label these switches p and q.40 Boolean Algebra Autumn 2001-2002 . which is equivalent to (A⊕B)’. (ABC). 5. A small design problem. (A1). Show that A’BC’ + AC’ + C = A + B + C a) Using truth tables b) Using the laws of Boolean algebra and the result p +p’q = p+q in the notes.M. This means that there are two switches. The effect of “up” and “down” of one switch changes depending on the position of the other switch. Using truth tables. (a) Show that the dual of the exclusive OR. (a) Design a truth table which makes this possible.C. (AB). 2. Each switch has two possible positions. Make use of this. (A+B+C) vs. design a logic circuit that enables one to do the same thing from any one of three switches. (c) Once you have managed to do this.Landsberger p 2. (A+0) vs. 3. A common feature (a great convenience) in buildings is to have a light controlled by a pair of switches located at different places. does not always mean the light is “on”). Realize the “A if and only if B”.

For each of the two functions. Si = Ai B’i C’i + A’i Bi C’i + A’i B’i Ci + Ai Bi Ci Si = (Ai B’i + A’i Bi )C’i + (A’i B’i + Ai Bi ) Ci Si = Ai ⊕ Bi ⊕ Ci (using XOR gates) Ci+1 = Ai Bi C’i + Ai B’i Ci + A’i Bi Ci + Ai Bi Ci Ci+1 = (Ai⊕ Bi) Ci + Ai Bi (using an XOR gate) 9. COEN 231 Class Notes J.a3. The table below defines two Boolean functions.C.a4). simplify it as much as possible.a3.a2. write the equivalent Boolean expression. Each row (line) gives the output for a specific combination of inputs (a1. a1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 a2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 a3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 a4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 b1 b2 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 (10) Simplify as much as possible the following Boolean expression. Si and Ci+1.41 Boolean Algebra Autumn 2001-2002 . verify the each of the two results below. using the laws of Boolean Algebra: MQ + M’R + QR Show clearly which laws you are using in your simplification.Landsberger p 2. The following are several Boolean expressions related to the full adder.7.a2.a3.a4). Implement each of them in logic gates corresponding to the particular Boolean operations represented in the expressions.M. b1(a1.Giguère & L.a2. and implement it by drawing logic gates.a4) and b2(a1. Using truth tables. for the full-adder example: Si = (Ai B’i + A’i Bi )C’i + (A’i B’i + Ai Bi ) Ci Ci+1 = (Ai⊕ Bi) Ci + Ai Bi 8.

using only NAND gates (each gate having up to 3 inputs).Landsberger p 2. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f1 1 1 1 1 1 0 1 1 f2 0 1 0 1 0 0 0 0 (12) (13) Draw the Boolean circuit for G = [(A’B)’(AB’)’C’]’.(11) (a) (b) Prove this Boolean equivalence by truth tables: A + AB = A Prove this Boolean equivalence by the laws of Boolean algebra: AB’ + B = A + B The table below defines two Boolean functions.B. (b) Then implement f2 by drawing logic gates.B.C). write the equivalent Boolean expression.B. (a) For each of the two functions. and then simplify your Boolean expression as much as possible.C.C) and f2(A.M. f1(A.42 Boolean Algebra Autumn 2001-2002 . COEN 231 Class Notes J. Each row (line) gives the output for a specific combination of inputs (A.C).Giguère & L.

particularly the shortcut method described in Chapter 1. all the flag bits are 0. as prescribed in Chapter 1. This bit responds to the question (“starting from the right.(14) Consider the conversion of an 8-bit binary number into its 2’s complement. • after the conversion is complete. and then Fi should be 1 for all subsequent bits. • the conversion begins at the rightmost bit (A0). bit-by-bit. toward the left. to be changed as needed by the Boolean function you will design. (b) Translate the truth table into symbolic Boolean functions for Bi and Fi+1. Fi should be 0 up to and including the first “1” encountered from the right.Landsberger p 2. and proceeds.Giguère & L.C. Suggestion: draw a diagram showing how you will be changing the bits. have I reached the first “1” yet?”) • before the conversion begins. The problem: (a) Specify the truth table for the Boolean function which takes as input Ai and Fi.43 Boolean Algebra Autumn 2001-2002 . what to put into these two COEN 231 Class Notes J. … … … Fi+1 = … … Fi = Ai = Bi = … … … You decide based on these two. • let Fi represent flag bits (F7 … F0) which will be used to flag whether we have reached the first “1”. and gives as output Bi and Fi+1. until all bits are converted into 2’s complement. • let Bi represent the bits (B7 … B0) of the binary number after conversion.M. One method for doing the conversion in a computer would be as follows: • let Ai represent the bits (A7 … A0) of the binary number being converted.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times