Thursday, May 26, 2011

Built in Character Function



There are a variety of functions provided for testing and mapping characters. The testing functions, which are described first, allow you to test if a character is of a particular type, such as alphabetic, upper or lower case, numeric, a control character, a punctuation mark, printable or not and so on. The character testing functions return an integer, either zero if the character supplied is not of the category specified, or non-zero if it was. The functions all take an integer argument, which should an int of the value of which should be representable as unsigned char.,

You can write your own routine for following function or you can use these. The following is a summary of all the character testing functions. The header <ctype.h> must be included before any of them is used.



Character function - 'ctype.h', header file should be included to use following character function .


_tolower(), tolower() - Translate characters to lowercase. tolower is a function that converts an integer ch (in the range EOF to 255) to its lowercase value (a to z; if it was uppercase, A to Z). All others are left unchanged. _tolower is a macro that does the same conversion as tolower, except that it should be used ONLY when ch is known to be uppercase (A-Z).

Declaration:

int tolower(int ch);
int _tolower(int ch);

Return Value:

      If ch is uppercase, _tolower and tolower return its converted value.

     If ch is not uppercase, tolower returns ch unchanged.

     _tolower's result is undefined.


_toupper() , toupper() - Translate characters to uppercase. þ toupper is a function that converts an integer ch (in the range EOF to 255) to its uppercase value (A to Z; if it was lowercase, a to z). All others are left unchanged. _toupper is a macro that does the same conversion as toupper, except that it should be used only when ch is known to be lowercase (a to z).

Declaration:
       int toupper(int ch);
      int _toupper(int ch);

Return Value:

If ch is lowercase, _toupper and toupper return its converted value.

     If ch is not lowercase, toupper returns ch unchanged.

_toupper's result is undefined.

/* tolower / toupper example */

#include <stdio.h>
#include <ctype.h>
#include <conio.h>

void main()
 {
       int len, i;
       char str[] = "THIS IS A STRING";
       clrscr();
       printf("Original>> ' %s ' \n",str);
       len = strlen(str);
       for (i=0; i<len; i++)
           {
                   str[i] = tolower(str[i]);
           }
       printf(" After tolower() >> ' %s \n",str);
       for (i=0; i<len; i++)
           {
               str[i] = toupper(str[i]);
           }
       printf(" Change back to using toupper() >> ' %s '\n",str);
       getch();
 }

Output

Original>> ' THIS IS A STRING '

After tolower() >> ' this is a string '

Change back to using toupper() >> ' THIS IS A STRING '



 isalnum(), isalpha(), isascii(),iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct()(),isspace(), isupper(), isxdigit() - Character classification macros. These macros classify ASCII coded integer values by table lookup. Each macro is a predicate that returns a non-zero value for true and 0 for false. isascii() is defined on all integer values. The other  macros are defined only when isascii(c) is true or c is EOF.

Declarations:
            int isalnum(int c);
            int islower(int c);
            int isalpha(int c);
            int isprint(int c);
            int isascii(int c);
            int ispunct(int c);
            int iscntrl(int c);
            int isspace(int c);
            int isdigit(int c);
            int isupper(int c);
            int isgraph(int c);
            int isxdigit(int c);

Return Value:

These. macros return a non-zero value on success. For each macro, success is defined as follows:

isalpha(): c is a letter (A to Z or a to z)
isascii(): the low order byte of c is in the range 0 to 127 (0x00--0x7F)
iscntrl(): c is a delete character or ordinary control character (0x7F or 0x00 to 0x1F)
isdigit(): c is a digit (0 to 9)
isgraph(): c is a printing character, like isprint, except that a space character is excluded
islower(): c is a lowercase letter (a to z)
isprint(): c is a printing character (0x20 to 0x7E)
ispunct(): c is a punctuation character (iscntrl or isspace)
isspace(): c is a space, tab, carriage return, new line, vertical tab, or formfeed (0x09 to 0x0D, 0x20)
isupper(): c is an uppercase letter (A to Z)
isxdigit(): c is a hexadecimal digit (0 to 9, A to F, a to f)

Some Example

#include <stdio.h>
#include <ctype.h>
#include <conio.h>

void main()
  {
        int len, i;
        char str[] = "8/F, Is My AD.";
        clrscr();
        len = strlen(str);
        printf("\nOriginal  String ' %s '\n",str);
        for (i=0; i<len; i++)
            {
                    if(islower(str[i]))
                    printf("\nCharacter in position %d is' %c ' is a lowercase letter\n",i,str[i]);
                    if(isupper(str[i]))
                        printf("\nCharacter in position %d is ' %c ' is a uppercase letter\n",i,str[i]);
                    if(isdigit(str[i]))
                        printf("\nCharacter in position %d is' %c ' is a digit\n",i,str[i]);
                    if(isspace(str[i]))
                        printf("\nCharacter in position %d is' %c ' is space\n ",i,str[i]);
                    if(ispunct(str[i]))
                        printf("\nCharacter in position %d is' %c ' is punctuation sign\n",i,str[i]);
            } 
        getch();
  }

Output

Original String ' 8/F, Is My AD. '

Character in position 0 is ' 8 ' is a digit

Character in position 1 is ' / 'is punctuation sign

Character in position 2 is ' F ' is an uppercase letter

Character in position 3 is ' , 'is punctuation sign

Character in position 4 is ' ' is space

Character in position 5 is ' I ' is an uppercase letter

Character in position 6 is ' s ' is a lowercase letter

Character in position 7 is ' ' is space

Character in position 8 is ' M ' is an uppercase letter

Character in position 9 is ' y ' is a lowercase letter

Character in position 10 is ' ' is space

Character in position 11 is ' A ' is an uppercase letter

Character in position 12 is ' D ' is an uppercase letter

Character in position 13 is ' . 'is punctuation sign


-->
Program to create your own Character Function


/* Check the type of a Character*/

#include <stdio.h>
#include <conio.h>

 void main()
   {
         char ch;
         int i;
         clrscr();
         printf("Enter A Character : ");
         fflush(stdin);
         ch=getche();
         if(ch>=65 && ch<=90 || ch>=97 && ch<=122)
                    printf("\n'%c' it is a Letter ",ch);
         if(ch>=65 && ch<=90)
                    printf("\n'%c' it is in UpperCase ",ch);
         else if(ch>=97 && ch<=122)
                    printf("\n'%c' it is in LowerCase ",ch);
         else if(ch==32)
                    printf("\n'%c' it is a Space ",ch);
         else if(ch>=48 && ch<=57)
                    printf("\n'%c' it is a Digit ",ch);
         else
                    printf("\n'%c' it is a Special Character ",ch);
         getch();
   }

Output

Enter A Character : R
'R' it is a Letter
'R' it is in UpperCase

Enter A Character : a
'a' it is a Letter
'a' it is in LowerCase

Enter A Character : 4
'4' it is a Digit

Enter A Character :
' ' it is a Space

Enter A Character : ?
'?' it is a Special Character




/* Character Conversion */
#include <stdio.h>
#include <conio.h>


 void main()
   {
         char ch;
         int i;
         clrscr();
         printf("Enter A Character : ");
         fflush(stdin);
         ch=getche();
         printf("\nOriginal Input '%c",ch);
         if(ch>=65 && ch<=90)
                    ch+=32;
         else if(ch>=97 && ch<=122)
                    ch-=32;
         printf("\nConverted to '%c' ",ch);
         getch();
   }


Output

Enter A Character : c
Original Input 'c
Converted to 'C'

Enter A Character : T
Original Input 'T
Converted to 't'



!!!While checking if you not sure about ASCII values then certainly this function will help you out.!!!

Thursday, March 31, 2011

Booth's Multiplication Algorithm


Booth's multiplication algorithm is a multiplication algorithm that multiplies two signed binary numbers in two's complement notation. Booth's algorithm involves repeatedly adding one of two predetermined values A and S to a product P, then performing a rightward arithmetic shift on P. Let X and Y be the multiplicand and multiplier, respectively; and let X and Y represent the number of bits in X and Y.
  1. Determine the values of A and S, and the initial value of P. All of these numbers should have a length equal to (x + y + 1).
  2. A: Fill the most significant (leftmost) bits with the value of x. Fill the remaining (y + 1) bits with zeros.
  3. S: Fill the most significant bits with the value of (-x) in two's complement notation.
  4. Fill the remaining (y + 1) bits with zeros.
  5.  P: Fill the most significant x bits with zeros. To the right of this, append the value of y. Fill the least significant (rightmost) bit with a zero.
  6. Determine the two least significant (rightmost) bits of P.
  7. If they are 01, find the value of P + A. Ignore any overflow. Perform right shift
  8. If they are 10, find the value of P + S. Ignore any overflow. Perform right shift
  9. If they are 00 or 11, Only perform right shift. Use P directly in the next step.
  10. Arithmetically shift the value obtained in the previous step by a single place to the right. Let P now equal this new value.
  11. Repeat steps 2 and 3 until they have been done y times.
  12. Drop the least significant (rightmost) bit from P. This is the product of x and y.
Example :Find the product of -9 * -12

A (-9)10 9=1001 and 1's Complement  = 0110 2's Complement 0110 +1 = 0111 10111 (1 is sign bit)
S  (A * -1) (9)10 (1001)2
P (-12)10 12=1100 and 1's Complement  = 0011 2's Complement 0011 +1 = 0100 10100 (1 is  sign bit)

Y = 00000 = 5 bits, so repeat the process five times.

X Y +1 New Value
A 10111 00000 0
S 01001 00000 0
101 P 00000 10100 0 Last two bits is 00 Right Shift >>1 00000  01010  0
100 P 00000 01010 0 Last two bits is 00 Right Shift >>1 00000  00101  0
011 P 00000  00101 0 Last two bits is 10 P + S 00000  00101  + 01001 00000 = 01001 00101 0 Right Shift >>1 00100 10010 1
010 P 00100 10010 1 Last two bits is 01 P + A 00100 10010 + 10111 00000 =11011 10010 1 Right Shift >>1 11101 11001 0
001 P 11101 11001 0 Last two bits is 10 P + S 11101 11001 +01001 0000 0 = 00110 11001 0 Right Shift >>1 00011 01100 1
-9 * -12 = 108 After dropping the LSB (Least Significant
Bit)  we get = 00011 01100
= 1101100 =108

Example :Find the product of 15 * -8

A (15)10 (15)10=(1111)2
S  (A * -1) (-15)10 15=1111 and 1's Complement  = 0000 2's Complement 0000 +1 = 0001 10001(1 is  sign bit)
P (-8)10 8=1000 and 1's Complement  = 0111 2's Complement 0111 +1 = 1000 11000(1 is  sign bit)


X Y +1 New Value
A 01111 00000 0
S 10001 00000 0
101 P 00000 11000 0 Last two bits is 00 Right Shift >>1 00000  01100  0
100 P 00000 01100 0 Last two bits is 00 Right Shift >>1 00000  00110
011 P 00000  00110 0 Last two bits is 00 Right Shift >>1 00000  00110
010 P 00000 00011 0 Last two bits is 10 P + S 00000 00011 + 10001 00000 = 10001 00011 Right Shift >>1 11000 10001 1
001 P 11101 11001 0 Last two bits is 11 Right Shift >>1 11100 01000 1
15 * -8 = -120 After dropping the LSB (Least Significant
Bit)  we get = 11100 01000
10001000 = -120

Example :Find the product of 9 * -12

A (9)10 (9)10=(1001)2
S  (A * -1) (-9)10 9=1001 and 1's Complement  = 0110 2's Complement 0110 +1 = 0111 10111(1 is  sign bit)
P (-12)10 12=1100 and 1's Complement  = 0011 2's Complement 0011 +1 = 0100 10100(1 is  sign bit)

X Y +1 New Value
A 01001 00000 0
S 10111 00000 0
101 P 00000 10100 0 Last two bits is 00 Right Shift >>1 00000  01010
100 P 00000 01010 0 Last two bits is 00 Right Shift >>1 00000  00101
011 P 00000  00101 0 Last two bits is 10 P + S 00000 00101 + 10111 00000 = 10111 00101 Right Shift >>1 11011 10010 1
010 P 11011 10010 1 Last two bits is 01 P + A 11011 + 10010 + 01001 00000 = 00100 10010 Right Shift >>1 00010 01001 0
001 P 00010 01001 0 Last two bits is 10 P + S 00010 01001 + 10111 000 = 11001 01001 Right Shift >>1 11100 10100 1
9 * -12 = -108 After dropping the LSB (Least Significant
Bit)  we get = 11100 10100
10010100 = -108

Example : Find the product of 3 x 4


A (3)10 (3)10=(0011)2
S  (A * -1) (-3)10 -3=011 and 1's Complement  = 100 2's Complement 100 +1 = 101 1101(1 is  sign bit)
P (4)10 4=100
4 bits Repeat it for four times

X Y +1 New Value
A 0011 00000 0
S 1101 00000 0
100 P 00000 0100 0 Last two bits is 00 Right Shift >>1 0000  0010
011 P 00000 0010 0 Last two bits is 00 Right Shift >>1 0000  0001
010 P 00000  0001 0 Last two bits is 10 P + S 0000 0001 + 1101 0000 = 1101 0001 Right Shift >>1 1110 1000 1
001 P 1110 1000 1 Last two bits is 01 P + A 1110 1000 + 0011 0000 = 0001 10001 Right Shift >>1 0000 1100 1
3 * 4 = 12 After dropping the LSB (Least Significant
Bit)  we get = 0000 1100
1100= 12

!!!Once again sorry for delay but I wanted it more descript so student can understand it. Next it will be Digital Electronics. Bye!!!

Thursday, February 17, 2011

Quine-McCluskey Method orTabulation Method


In my last blog I have given you some examples, solving Sum of Product (SOP) and Product of Sum (POS) using Karnaugh Map. Today we will solving the same using Quine-McCluskey Method (Tabulation Method)


Example 1:
Simplify the following using Quine-McCluskey Method (Tabulation Method)


f(A,B,C) = Σm(0,1,4,5,6) + Σd(7)

Example 1: f(A,B,C) = Σm(0,1,4,5,6) + Σd(7)

Terms given that includes the don't care option

0

000

1

001

4

100

5

101

6

110

7

111


Repetition of 1's is the basis of grouping.

Group 1


0

000

 Weight = 0
[Group with zero : 1's]

Group2


1

001

 Weight = 1[Group with one : 1's]



4

100


Group 3



5

101

Weight = 2 [Group with two : 1's]



6

110


Group 4



7

111

Weight = 3 [Group with three  : 1's]



Combine a suitable pair to form Column 2, pair can be formed between adjacent group basis of difference. Put a hyphen(-) to indicate difference between the terms. Forming column three will be on the basis of   adjacent pairs that having a hyphen (-) in the identical place. Those terms is used should be marked, here to mark, I used √.



Column I (Number of 1' Implicants)

Column II (Size 2)

Column III (Size 4)

Group1

0

000 √

(0,1) √

00-

(0,1,4,5)

-0-




(0,4) √

-00

(0,4,1,5)

-0-

Group 2


1

001 √

(1,5)  √

-01




4

100 √

(4,5) √

10-

(4,5,6,7)

1--




(4,6) (not used)

1-0



Group 3

5

6
101√

110 √
(5,7)

(6,7)
1-1

11-



Group 4


7

111 √







Rows = prime implicants and columns = ON-set elements place an "X",  if  ON-set element is covered by the prime implicant.Make the following chart using the given terms but do not use the don't care options (cell 7). Also omit the if any duplicate entries like  (0,1,4,5) (0,4,1,5).




0

1

4

5

6

-0- 

 B'

(0,1,4,5)
X
X

X

X


-0-

B'

(0,4,1,5)

X

X

X

X


1--

A

(4,5,6,7)



X

X

X

1- 0

AC'

(4,6)




X


X

After removing duplicate entries we get the following. Now columns 0 and 1  also to be removed as these column has a single X, it has the implicant associated with the row (+) is essential. It must appear in minimum cover.

(**) columns has only one X and row  to be covered is (0,1,4,5) = B'
(*) omit 0,1,4,5 as it is already covered.



0 (**)

1 (**)

4

5

6

-0- 

 B'

(0,1,4,5) +

X (*)

X (*)

X (*)

X (*)


1--

A

(4,5,6,7)



X

X

X

1- 0

AC'

(4,6)



X


X


Eliminate all columns covered by essential primes  (4,5). Find minimum set of rows that cover the remaining columns (4,5,6,7) = A.
f(A,B,C) = Σm(0,1,4,5,6) + Σd(6) = A + B'.

Example 2:
 

Simplify the following using Quine-McCluskey Method (Tabulation Method)

 f(A,B,C,D) = Σm(0,2,8,10,12,13,14,15) + Σd(5,7)

Terms given :
0
0000

2

0010

5

0101

7

0111

8

1000

10

1010

12

1100

13

1101

14

1110


Rewriting in the List basis of weight of 1's

0

0000

2

0010

8

1000

5

0101

10

1010

12

1100

7

0111

13

1101

14

1110

15

1111


Group it basis of repetition of 1's
Group 1

0

0000

 Weight = 0[Group with zero : 1's]

Group2


2

0010

Weight = 1[Group with one : 1's]


8

1000



Group 3

5

0101

Weight = 2 [Group with two : 1's]


10

1010



12

1100

Group 4


7

0111

Weight = 3[Group with three : 1's]


13

1101


14

1110

Group 5


15

1111

Weight = 4[Group with three : 1's]


Combine a suitable pair to form Column 2, pair can be formed between adjacent group basis of difference. Put a hyphen(-) that indicate difference between the terms. Column three only can be formed on the basis of  the pairs having a hyphen (-) in the identical place. Those terms already combined should be marked, here to mark, I used √.



Column I (Number of 1' Implicants)

Column II (Size 2)

Column III (Size 4)

Group1



0

0000 √

(0,2) √

00-0

(0,2,8,10)

-0-0






(0,8) √

-000

(0,8,2,10)

-0-0

Group 2

2
0010

(2,10) √

-010

(8,10,12,14)

1--0

8
1000 √

(8,10) √

10-0

(8,12,10,14)

1--0



(8,12) √

1-00



Group 3

5
0101 √

(5,7) √

01-1

(5,7,13,15)

-1-1

0
1010 √

(5,13) √

-101

(5,13,7,15)

-1-1

12
1100 √

(10,14) √

1-10

(12,13,14,15)

11--




(12,13) √

110-

(12,14,13,15)

11--




(12,14) √

11-0



Group 4


7

0111 √

(7,15) √

-111




13

1101 √

(13,15) √

11-1



14
1110 √

(14,15) √

111-



Group 5








15

1111 √






Rows = prime implicants and columns = ON-set elements, place an "X", if  ON-set element is covered by the prime implicant. Make the following chart using the given terms but do not use the don't care options. Also omit the duplicate entries such like (0,2,8,10) and (0,8,2,10), (8,10,12,14) and .(8,12,10,14), (5,7,13,15) and  (5,13,7,15), (12,13,14,15) and (12,14,13,15).


0

2

8

10

12

13

14

15

B'D'

-0-0

(0,2,8,10)

X

X

X

X





B'D'

-0-0

(0,8,2,10)

X

X

X

X





AD'

1--0

(8,10,12,14)



X

X

X

X

AD'

1--0

(8,12,10,14)



X

X

X


X

BD

-1-1

(5,7,13,15)






X



X

BD

-1-1

(5,13,7,15)






X



X

A

11--

(12,13,14,15)





X

X

X

X

AB

11--

(12,14,13,15)





X

X

X

X


After removing duplicate entries we get the following. Now columns 0 and 2 column has a single X, the implicant associated with the row (+) is essential. It must appear in minimum cover. (**) columns has only one X and row to be covered is (0,2,8,10) = B'.D'.

* omit 0,2,8,10 as it has already covered.


0 **

2 **

8

10

12

13

14

15

B'D'

-0-0

(0,2,8,10) +

X *

X *

X *

X *





AD'

1--0

(8,10,12,14)



X

X

X


X


BD

-1-1

(5,7,13,15)






X


X

AB

11--

(12,13,14,15)





X

X

X

X


Eliminate all columns covered by essential primes  (8,10). Find minimum set of rows that cover the remaining columns
(5,7,13,15) and (12,13,14,15) =BD and AB.

Therefore, from given minterms
f(A,B,C,D) = Σm(0,2,8,10,12,13,14,15) + Σd(5,7) = AB + B'D' + BD

To give you these two examples I have to spent a couple of hours when easily could have solve it within couple of minutes using Karnaugh Map. Often students ask me why to learn this when it is taken more time than the other easier process, frankly I have no idea.

My next target will be booth algorithm and hope will post in time.

!!!For those students who are going to  appear in I.C.S.E. and I.Sc., best wishes for your exam.!!!

Thursday, February 3, 2011

Boolean algebra Canonical Forms and Solution, Karnaugh Map



Hi, this is the first one in this year and once again failed to post on time but not going to tender apology for it, among you, who knows me will understand that it is examination time and I am little more pre-occupied.

Today we will solve a few minterm and maxterm using Karnaugh map as well as other aspect of Canonical form

Solution for Sum of Product (SOP)

Examples 1:  Using three literals.

Reduce this term using K-Map : f(x,y,z) = Σm(0,2,3,4,6,7)


The sigma sign and as well as 'm' written in lowercase indicate that it is SOP (sum of Product), so we have to find the minterm.

First mark the given cell with 1's and rest with 0's. We have two Quad here, first one using 0,2,4,6 (Map rolling) and second 2,3,6,7.

Quad(0,2,4,6) having m0+m2+m4+m6, we get :  x'y'z' +x'y'z+xy'z'+xyz', common factor is : z'.
Quad(2,3,6,7) having m2+m3+m6+m7, we get : x'yz' + x'yz+xyz'+xyz, common factor is : y
Quad(0,2,4,6) = z'
Quad(2,3,6,7) = y

f(x,y,z)=Σm(0,2,3,4,6,7) = y + z'
Examples 2: Using four literals.
Reduce this term using K-Map : f(a,b,c,d)=Σm(0,1,3,5,7,10,11,12,13,14,15)



Pair(0,1) = m0+m1 = a'b'c'd' + a'b'c'd = a'b'c'
Quad(1,3,5,7)=m1+m3+m5+m7 = a'b'c'd + a'b'cd + a'bc'd + a'bcd = a'd
Quad(12,13,14,15) = m12+m13+m14+m15 =abc'd' + abc'd + abcd' + abcd = ab
Quad(10,11,14,15) = m10+m11+m14+m15 =ab'cd' + ab'cd' + abcd' + abcd = ac

f(a,b,c,d)=Σm(0,1,3,5,7,10,11,12,13,14,15)  = a'b'c' + a'd + ab  + ac
Example 3: Using don't care
f(a,b,c,d)=Σm(0,1,3,8,9,12,13) + Σd(2,6)

Quad(0,1,2,3) = m0 + m1 + m2 + m3 = a'b'c'd' + a'b'c'd + a'b'cd' + a'b'cd   = a'b'         
Quad(8,9,12,13) = m8 + m9 + m12 + m13 = ab'c'd' + ab'c'd + abc'd' + abc'd =  ac'
 [We are using cell 2 to create a quad as it is given as don't care but we cannot use only don't care so left the cell No. 6 as it is failed make any pair or quad with other given cell.]  


f(a,b,c,d)=Σm(0,1,3,8,9,12,13)+Σd(2,6)  =a'b' + ac'


Solution for Product of Sum (POS)

Example 1: Using four literals.
f(a,b,c,d) = p(0,1,6,7,8,9,12,13)


Quad(0,1,8,9) = M0 . M1 . M8 . M9 = (a+b+c+d) . (a+b+c+d') . (a'+b+c+d) . (a'+b+c+d') = b+c
Pair(6,7) = M6 . M7 = (a+b'+c'+d) . (a+b'+c'+d') = a+b'+c'
Quad(8,9,12,13) = M8 . M9 . M12 . M13 = (a'+b+c+d) . (a'+b+c+d') + (a'+b'+c+d) . (a'+b'+c+d') = a' +c
f(a,b,c,d) = ΠM(0,1,6,7,8,9,12,13) =Π(b+c)+(a+b'+c')+(a'+c)



Convert Boolean expression to Canonical form using Boolean Laws


Sum of Products

F(A,B,C) = A + B'C

= A.1 + B'C.1

= A(B+B') + B'C(A+A')

=AB + AB' + AB'C + A'B'C

=AB.1 + AB'.1+AB'C + A'B'C

=AB(C+C')+AB'(C+C')+AB'C+A'B'C

=ABC + ABC' + AB'C + AB'C' + AB'C +A'B'C

=A'B'C+ AB'C' +AB'C+ABC' + ABC                (REMOVE THE DUPLICATE ENTRIES)

f(A,B,C) = m(1,4,5,6,7)


Using Truth Table


A

B

C

B'

B'C

A+B'C


0

0

0

1

0

0


0

0

1

1

1

0
A'BC'

0

1

0

0

0

1



0

1

1

0

1

1

A'BC

1

0

0

1

0

0


1

0

1

1

0

1

AB'C

1

1

0

0

1

1

ABC'

1

1

1

0

1

1

ABC

Sum of Products


F(A,B,C)=(A+ B)( B + C)

= (A + B+0).(0+B+C) (X+0 = X)

= (A + B + C.C').(AA'+B+C) (0 = XX')

=(A + B+ C)( A+B+C')(A+B+C)(A'+B+C)              (REMOVE THE DUPLICATE ENTRIES)

= (A + B+ C)( A+B+C')(A'+B+C)

F(A,B,C) = m(0,1,4)


Using Truth Table



A

B

C

A+B

B+C

(A+ B)( B + C)


0

0

0

0

0

0

ABC

0

0

1

0

1

0

ABC'

0

1

0

1

1

1


0

1

1

1

1

1


1

0

0

1

0

0

A'BC

1

0

1

1

1

1


1

1

0

1

1

1


1

1

1

1

1

1




Definitely coming back within forthright with  using Quine-McCluskey Method (Tabulation Method)


!!!Hope going to have a nice time with Saraswati Puja, till then Bye!!!