Binary Logic and Boolean Algebra 0001
5 stars based on
It is said that the concept of "zero" was given to the world by ancient Indians. Why is this concept so important? Does this mean that in other number systems, there was no concept of "zero"? What we call the significance of "zero" is really the important insight about the position of digits in a number. In other words, the value of each digit in a number is determined not merely by the magnitude of the digit, but also by its position in the number; for each subsequent position contributes by the next higher POWER of the BASE of the counting system to the digit.
We are familiar with the decimal system, which is in BASE 10, using [ The gift of the Indian or Arabic numeral system was not due to the value of the base being 10, but the concept of positional "significance" of the digits in a number.
Would this property be retained in counting systems in other bases? For instance, we could work out all numerical work in base 2 binaryusing [ The table below counts up to sixteen in each of these systems. In any such system, it is conventional to write the number with the most significant digit at the leftmost position, and the least significant one at the rightmost. We shall follow the following convention to represent numbers: N b will represent number N in base b.
How do we convert a decimal number to one in base "b"? The method can be understood by looking at the structure of the figure above, also. Let the number in decimal be N The term inside the [.
Further, the integral part of the quotient is of the form:. By dividing again by "b", we can get the second least significant digit, D As a direct result of the above, we can see that anything that can be done using the decimal number system can be done in any other base also. This is good for number computations; but how about data? Most information that human beings process can be described either using languages e.
Can we do without one of these two also? Most languages that humans use have a finite alphabet. Therefore, if we take all of these symbols, and assign numerical code values to them, then anything in the language can be represented as a list of numbers, which denote the position in the list of each subsequent symbol. Even the symbols for our numbers [ the symbols 0, 1. This is why the coding schemes are called alphanumeric codes.
In the tables the numerical code of each symbol is shown. Only numbers are sufficient to describe all the symbols. If we used a decimal system, how many digits would we need to encode one character? The binary system is very significant in computer systems. In electronics, this electrical quantity is the potential difference between two terminals, or the Voltage. Thus all information has to be transformed in terms of Voltage levels.
It is extremely difficult to design electronic equipment that could perform various operations using more than two voltage levels in a consistent fashion. The two distinguishable states presence of a Voltage difference or absence of it are used to designate two signal values: But these two values, 0 and 1, are sufficient to describe any information using a binary code. Most of the processing done by the computer uses just a few basic electronic devices, which perform very simple functions.
The most important of these devices are logic gates. These gates are devices which have one of two voltage levels as their output: They are designed so that the relation between the input s and outputs replicates a mathematical system called binary logic. Each Integrated Chip IC in a computer contains thousands of binary gates. We shall introduce binary logic as a subset of a wider theory called switching theorywhich is popularly known as Boolean Algebra [After George Boole, whose work is considered as the foundation for modern computers].
Boolean algebra is an algebra of variables which can have only one of two possible values. For convenience, we shall take these values called the "state" of the variable as 0 and 1. Three basic operations are defined in the algebra: The operators are defined as follows:. We shall denote variables in the algebra by upper case letters of the alphabets [A.
The theory of Boolean algebra lays down rules which govern how to build up "expressions" using these variables, constants, and operators to construct meaningful or valid expressions. For any valid expression, we can determine the truth value corresponding to the values that the variables can take. A common device used to systematically determine all possible values an expression is a truth table.
The truth tables corresponding to the three operators are shown if figure 4. We have already seen how all information can be represented using characters, which can be represented by 7 binary digits called bits. A set of eight bits makes what is called a byte.
The eighth digit is used differently in different applications. One common use for the eighth bit is for error correction, as a parity checker. The binary representation in a parity-checking system looks like:. B7, and "p" is the parity bit. A given system operates under either even parity, odd parity, or no parity in which case no error checking is done using parity.
In odd parity system, the number of 1's in the ASCII representation of the character are counted, and if the total number of 1's is odd, p is set to 0, else it is 1. Thus the total number of 1's in the 8-bit representation of each character is odd. When communicating a message between two devices, the parity bit is used as a simple means of checking if the data being received is not corrupted.
We start from the least significant digit, and copy bit-by-bit till we reach the first "1". The first "1" the least significant "1" is copied. All the remaining digits are inverted a "0" is converted to "1", and vice versa. The importance of this seemingly odd operation is easily explained, and the explanation also gives insight into the real meaning of the operation.
In a computer, any number needs to be represented in binary. However, due to limitations of various kinds, we can only allow the representation to be of finite length e.
This finite representation causes two problems, both of which will be explained for a simpler case where each number is allowed to have a maximum of 4 bits. The first problem is in example bwhere the sum of the numbers exceeds the number of digits we allow in our representation. This is a problem of overflow. The second one concerns the example dwhere the subtraction results in a "borrow" from a significant digit that does not exist! Note that in our 4-bit representation, we can only talk of numbers from There is no way to represent negative numbers.
It appears that we need extra bits to represent negative numbers, and also to get correct answers from our math. Let us therefore add one extra bit to the representation, and also a 1-bit flag. We shall use the flag each time there is an overflow, thereby letting us know that the real answer to our computation is the result we got, plus 1x That takes care of the overflow problem.
What about negative numbers? Here, we adopt a new representation: In fact, we go one step further, and express any negative number in the 2's complement form. This 1 ensures that the msb is 1; and 2 allows for a subtraction to become an addition process! Boolean algebra is a mathematical branch that studies the manipulation of variables and constants that can have only one of two values.
It was developed by George Boole, hence the name. The parallel between binary logic and Boolean algebra is close, and this was why much of the theoretical background for the functioning of modern computers is based on Boolean algebra. Further, the algebra defines a set of rules that can be used to construct statements, whose truth value can be tested. Any statement which is true for all values of the variables in it is said to be a theorem.
The theorems of Boolean algebra can be derived using the definitions of the operators and the truth table approach. Some of the important theorems are listed below. For the sake of simplicity of expression, we use a shorthand notation for the operators.
The ' ' operator will be implicitly assumed for any variables placed contiguously. Thus will be written as AB. Also, the parentheses will be introduced in expressions, with the usual meaning to denote the order of evaluation. Up till now, we have seen one variable expressions.
Now we study expressions of more variables. Many of the above can easily be verified by using a truth table. Others can be derived from the earlier verified ones. The purpose of learning these theorems, and Boolean algebra is so that we can manipulate Boolean expressions and derive equivalent, simplified forms given a more complex form. Since we shall eventually use such logic expressions in controlling automation of devices operating together, if we can derive simple expressions that have the same output as complicated ones, the resulting implementation will be cheaper, and less error prone.
There are two methods to simplify expressions, the algebraic method, and Karnaugh Maps.